Elasticsearch - 地理形状类型索引上的额外未映射字段

时间:2015-02-03 22:51:07

标签: elasticsearch

我在地理形状类型字段上有一些额外的内部字段。例如," shape"是一个地理形状类型字段,它具有常规必填字段,如"坐标","半径"等,但它也可能有其他字段,如"元数据"我希望elasticsearch不解析而不存储在索引中。例如:

"shape": {
   "coordinates":[6.77,8.99]
   "radius": 500
   "metadata": "some value"
}

映射架构如下所示:

"shape":{
   "type":"geo_shape"
}

我怎样才能做到这一点?通过在映射模式上使用" dynamic":false似乎不起作用。

1 个答案:

答案 0 :(得分:0)

在您的根映射中将dynamic设置为false,就像您一样,是要走的路:您确定它不起作用吗?或者你是说这是因为它出现在你的结果中_source

实际上,默认情况下,_source属性将包含您提交的完全相同的文档。

但是,这并不意味着额外的metadata字段已编入索引和/或存储。 如果您想检查此内容,请在搜索中专门请求该字段,如下所示:

POST _search
{
  "fields": ["shape.metadata"]
}

您应该拥有搜索匹配但没有任何fields值。

如果它仍然困扰您,请停用映射中的_source属性。