elasticsearch 索引时防止Elasticsearch在特定字符上拆分,elasticsearch,logstash,elasticsearch,Logstash" /> elasticsearch 索引时防止Elasticsearch在特定字符上拆分,elasticsearch,logstash,elasticsearch,Logstash" />

elasticsearch 索引时防止Elasticsearch在特定字符上拆分

elasticsearch 索引时防止Elasticsearch在特定字符上拆分,elasticsearch,logstash,elasticsearch,Logstash,我有一个带有值的字段,如170726-001,170726-002,170726-003,这三个字段中的值似乎被分为170726和00N。当使用查询字符串查询作为关键字搜索170726-001时,这会影响我的搜索结果的相关性 如何防止Elasticsearch在编制索引时拆分-字符上的值?在@filip cordas和其他注释的帮助下,我更新了索引以反映以下内容。它使用关键字类型而不是默认的文本类型。在索引上这样做可以避免我在搜索中指定我的_field.keyword PUT my_index

我有一个带有值的字段,如
170726-001
170726-002
170726-003
,这三个字段中的值似乎被分为
170726
00N
。当使用查询字符串查询作为关键字搜索
170726-001
时,这会影响我的搜索结果的相关性


如何防止Elasticsearch在编制索引时拆分
-
字符上的值?

在@filip cordas和其他注释的帮助下,我更新了索引以反映以下内容。它使用
关键字
类型而不是默认的
文本
类型。在索引上这样做可以避免我在搜索中指定我的_field.keyword

PUT my_index
{
  "mappings": {
    "my_type": {
      "properties": {
        "my_field": {
          "type": "keyword",
          "index": true
        }
      }
    }
  }
}

使用
关键字
类型而不是
文本
,或者在现有的
文本
字段中添加
关键字
子字段您还可以搜索字段的.raw以仅搜索原始字段。我想您应该在elasticsearch@filip-科尔达斯-我同意这可能是我可以做的映射更改,我只是不确定映射更改通常需要对所有内容重新编制索引,但在2.0 elasticsearch中,您会得到“关键字”子字段,因此您可能可以使用它