我是Elasticsearch的新手。如果这很明显,请原谅我。用Google搜索但没有找到如何编写mutlivalued字段(字符串)的映射。我只找到了如何编写多值文档并搜索多值字段:http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_multi_value_fields_2.html
感谢您的帮助!
答案 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结果中显示为数组。因此,该字段的结果类型在整个索引中是一致的,但它不会反映在映射中。