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

问题描述 投票:0回答:2

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

感谢您的帮助!

elasticsearch
2个回答
3
投票

多值字段与 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
 包含以下值:“黑色”、“蓝色”、“白色”。当查询包含“white”时,就会有匹配。如果您有一个空格分隔的字段,其中包含三个标记“黑蓝白”,其中白色排在最后,那么分数将会有所不同。

在Elasticsearch中,没有专用的数组类型。默认情况下,任何字段都可以包含零个或多个值,但是数组中的所有值必须具有相同的数据类型。 (

https://www.elastic.co/guide/en/elasticsearch/reference/current/array.html

Elastic 只是隐式地将值添加到字段中。不会有像 SOLR 中那样带有显式

multiValued=false

 的错误处理。如果您想确保字段
包含值列表,则必须在导入期间进行检查。

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


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

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

© www.soinside.com 2019 - 2024. All rights reserved.