Elasticsearch:如何为多值字段编写映射?

时间:2014-07-10 22:06:55

标签: elasticsearch

我是Elasticsearch的新手。如果这很明显,请原谅我。用Google搜索但没有找到如何编写mutlivalued字段(字符串)的映射。我只找到了如何编写多值文档并搜索多值字段:http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_multi_value_fields_2.html

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

Elasticsearch文档有一个页面可以解释您想要的内容。

https://www.elastic.co/guide/en/elasticsearch/reference/current/multi-fields.html

我已更新链接现在尝试链接

答案 1 :(得分:0)

多值字段与Elastic的multi_field不同。这里描述:

https://www.elastic.co/guide/en/elasticsearch/reference/0.90/mapping-multi-field-type.html

目前的文档提到了多个字段: https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html#_field_datatypes

我理解的多值字段(我认为这也就是你的意思)是一个包含几个将彼此分开搜索的值的字段:

示例:

字段color,多值,keyword包含以下值:“黑色”,“蓝色”,“白色”。当查询包含“白色”时,将会有匹配。分数会有所不同,如果你有一个空格分隔的字段,其中有三个标记“黑蓝白”,其中白色是最后一个。

  

在Elasticsearch中,没有专用的数组类型。默认情况下,任何字段都可以包含零个或多个值,但是,数组中的所有值必须具有相同的数据类型。   (https://www.elastic.co/guide/en/elasticsearch/reference/current/array.html

弹性只是隐式地向字段添加值。不会像SOLR中那样使用明确的multiValued=false进行任何错误处理。如果要确保字段包含值列表,则必须在导入时检查。

如果一个或多个文档具有特定字段的多个值,则无论特定文档的值有多少,此字段的值都将在JSON结果中显示为数组。因此,该字段的结果类型在整个索引中是一致的,但它不会反映在映射中。