在弹性搜索映射中,字符串的“index”属性确定字符串是否会被分解为标记并进行分析。 “index”属性对非字符串类型(如整数,浮点数,日期等)的设置是什么?
答案 0 :(得分:0)
您可以将“index”设置为“no”以关闭按特定字段搜索的功能 - 该字段不会被编入索引。默认值为“not_analyzed”,它将按原样索引数据而不进行分析,以便您可以按该字段进行搜索。数字和日期不支持“已分析”:
其他简单类型 - 长,双,日期等 - 也接受 index参数,但唯一相关的值是no和not_analyzed, 因为他们的价值从未被分析过。
http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/mapping-intro.html
数字和日期
索引
如果不应将值编入索引,则设置为no。设置为禁用禁用 include_in_all。如果设置为no,则字段应为 存储在_source中,启用include_in_all,或将store设置为 这是有用的。
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-core-types.html
答案 1 :(得分:0)
“index”属性(来自es reference):
设置为分析要被索引的字段并在被搜索后进行搜索 使用分析器分解成令牌。 not_analyzed意味着它 仍然可以搜索,但不会通过任何分析过程或 分解成代币。并不意味着它根本不可搜索 (作为单个字段;它可能仍包含在_all中)。设置为 禁用include_in_all禁用。默认为分析。
其他类型:
如果不应将值编入索引,则设置为no。设置为no禁用include_in_all。如果设置为no,则字段应存储在_source中,启用include_in_all,或将store设置为true以使其有用。
答案 2 :(得分:0)
对于非字符串值,它会禁用该值的索引并禁用include_in_all
。这意味着您将无法在搜索中使用该字段。
该值仍会存储,因此您可以指定要在搜索请求中返回的字段
{... "fields" : ["name", "age"] ...}
您可以阅读该值并在您的应用中使用它。 (如果你不将它从_source
中排除,它也会被存储在那里)。