当前位置: 首页 > 面试题库 >

数组字段中的location字段的geo_point

须衡虑
2023-03-14
问题内容

我在Elasticsearch中有这样的数据

"id": "edff12sd3"
"main_array": [
{
"id": "2308",
"name": "Grey Area",
"location": {
  "lat": 28.5696577,
  "lon": 77.3229933
 }
}
,
{
"id": "2274",
"name": "Tribute to The Beatles by Atul Ahuja- Live Music",
"location": {
  "lat": 29.5696577,
  "lon": 77.3229933
 }
}

现在我想为位置字段设置geo_point。我已经尝试过这种方式

{
"mappings": {
"search_data": {
  "properties": {
    "main_array.location": {
      "type": "geo_point"
    }
   }
  }
 }
}

但这让我出错

"type": "mapper_parsing_exception",
"reason": "Field name [main_array.location] cannot contain '.'"

你能帮我吗 谢谢


问题答案:

location是您存储在中的对象的属性main_array,因此请尝试执行以下操作:

{
  "mappings": {
    "search_data": {
      "properties": {
        "main_array": {
          "properties": {
            "location": {
              "type": "geo_point"
            }
          }
        }
      }
    }
  }
}

请注意,从ES
2.0版本开始,字段名称可能不包含点



 类似资料:
  • 我有一个非常特别的问题,关于查询嵌套到数组字段的布尔字段和字符串字段。索引映射如下所示: 文档索引还有许多其他字段,这些字段没有嵌套到数组字段中,但必须包含在查询字段中。我尝试了一种使用过滤器和布尔查询的方法,如下所示: 这个查询的问题是,它返回的文档在我看来不必返回。在这种情况下,文件如下所示: 您可以注意到,array_field_1的第三项包含boolean_field_2:false和正在

  • 我在寻找一种方法来放弃我的程序中的一个getter。我有一堆动态创建的文本字段: 下面是getter,我想在这里返回聚焦的TextField 处理程序将接收聚焦字段并调用我的“model”-class中的checkInput()方法。 此刻,它接收到一个由我自己设置的预定义字段。检查答案的代码有效。感谢任何帮助我的人,如果我自己找到了一个方法,我一定会把它贴在这里。

  • 通常,Hadoop示例定义了如何对一个文件或多个文件进行字数计算,字数计算的结果将来自整个集合! 我希望对每个段落进行wordcount,并将其存储在单独的文件中,如paragh(i)_wordcnt.txt。 我能看到para2写para1的wordcount结果吗?或者,如果以其他方式在单独的文件中写入每一段,该如何做,像这样的顺序

  • 我正在用Python创建一个Google Dataflow模板: 此“到期恢复失败”字段为数组: 为非重复字段指定的数组。 > 直接在BigQuery UI中创建表,并使用以下语句: 这管用。创建该表时使用: 类型: 模式: 更改TABLE_SCHEMA并运行管道: 错误为: 应该如何创建表并与一起使用?

  • 我正在尝试从MongoDB中的数组中获取一个元素。我认为聚合过滤器是正确的应用程序。但是我已经尝试了一百万次,我仍然找不到问题所在。你能帮我吗? MongoDB示例数据: 我的解决方案: 我的结果: 预期结果: 我已经检查了Mongo参考:https://docs.mongodb.com/manual/reference/operator/aggregation/filter/#example M

  • 我在一个名为course的模式中有一个名为students的数我创建了一个路由,允许我使用学生的将学生添加到这个数组中,如下所示: 当我尝试用以下JSON体向我的endpoint发出PUT请求时: 谢谢!