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

弹性映射geo_point字段数组

井疏珂
2023-03-14
问题内容

我想将一些JSON保留为看起来像这样的elastic(search):

{
  "name": "value",
  "points": [
    { "lat": 0.0, "lon": 0.0 },
    { "lat": 1.0, "lon": 1.0 }
  ]
}

点是具有弹性的geo_point类型的列表。因为它们是geo_point值,所以我需要定义索引映射,但是我能看到的最接近的方法是:

"place": {
  "properties": {
    "name": {
      "type": "string"
    },
    "points": {
      "properties": {
        "location": {
          "type": "geo_point"
        }
      }
    }
  }
}

这意味着让每个点都是具有单个位置键和geo_point值的地图。我只想要geo_points,这可能吗?


问题答案:

您可以如下定义映射:

"place": {
  "properties": {
    "name": {
      "type": "string"
    },
    "points": {  // <--  it can also be a multi-valued field if you insert multiple values, as skal88 mentioned, your json would perfectly fit in this mapping.
      "type": "geo_point" 
    }
  }
}


 类似资料:
  • 问题内容: 我在Elasticsearch中有这样的数据 现在我想为位置字段设置geo_point。我已经尝试过这种方式 但这让我出错 你能帮我吗 谢谢 问题答案: 是您存储在中的对象的属性,因此请尝试执行以下操作: 请注意,从ES 2.0版本开始,字段名称可能不包含点

  • 我正在使用spring数据elasticsearch和elasticsearch一起查询文档。我想对嵌套文档进行嵌套查询。 我有java版本: 而且 当我让spring数据进行映射时,我得到: 当我试图查询文档时,我遇到了经典的内部文档与嵌套文档的问题,它无法识别嵌套元素。 当我尝试更新映射以使用嵌套文档时,我得到“无法从非嵌套更改为嵌套”。 我是否应该告诉spring data es@Neste

  • Navicat 会依源表或集合对字段类型和長度作出假设。你可以从下拉式菜单选择你所需的类型。 【提示】导入多个表或集合时,你可以从下拉式菜单选择其他表或集合。 如果你导入数据到现有的表或集合,你则需要手动映射源字段名到目标,或按住 Control 键并点按字段,然后选择“智慧匹配全部字段”、“按次序匹配全部字段”和“全部取消匹配”来进行快速匹配。 如果你透过 ODBC 导入,“条件式查询”按钮会打

  • 我有一个设计糟糕的文档结构: 我想从上面的文档中检索标题、Fach和代码。 多谢了。

  • 我与ModelMapper框架有麻烦。请解释为什么我看到以下行为。 我在build.gradle有以下依赖性 和一个类客户: 我还有一个地图绘制工具: 还有一个测试 在fred()中,方法输出是非红色的“Customer{name=fred,age=40}”(“Customer{name=null,age=40}”)。你能解释一下为什么吗?为什么我在第一个方法中看不到输出“George”?

  • Spring-data for mongodb特别对待名为“id”的字段:http://static.springsource.org/Spring-data/data-mongo/docs/1.0.0.m5/reference/html/#D0E1508,因为它试图将名为id的字段映射到mongodb中的_id字段。有办法禁用此行为吗?我希望mongodb ObjectId只映射到具有显式注释的