ElasticSearch 高亮的问题

2017-05-18 10:07:51 +08:00
 yuhuan66666

用的是ElasticSearch 5.3版本配上了 Kibana

找了半天没找到类似的问题,如果查询整个字段值的时候,查询 id,格式是 UUID 的形式“ 1168d91e-26a3-48e9-949d-129c342d2a1c ” 查询结果就可以返回高亮

查询片段:

   ......
      "must": [
        {
          "query_string": {
            "query": "1168d91e-26a3-48e9-949d-129c342d2a1c",
            "analyze_wildcard": true
          }
        },
        {
          "range": {
            "operateTime": {
              "gte": 1463535841712,
              "lte": 1495071841712,
              "format": "epoch_millis"
            }
          }
        }
      ]
   ......

结果高亮片段:

"highlight": {
	"Id": [
            "@kibana-highlighted-field@1168d91e-26a3-48e9-949d-129c342d2a1c@/kibana-highlighted-field@"
      	  ]
}

但是 如果查询对象是另一个 id 字段“ 1-BJKAS-80017 ” ,查询正确找到这个字段,但是这个字段却不会显示出高亮

查询片段:

"must": [
        {
          "query_string": {
            "query": "1-BJKAS-80017",
            "analyze_wildcard": true
          }
        },
        {
          "range": {
            "operateTime": {
              "gte": 1463536407451,
              "lte": 1495072407451,
              "format": "epoch_millis"
            }
          }
        }
      ]

结果中无此字段的高亮键值。

我发现 我存进去的 UUID 类型的字段 都可以返回高亮,但是 IP 这和 上面这种自定义的字段就不会返回高亮,他们的 mapping 中都设定的是 keyword 类型( IP 字段设定是 IP 类型),官方文档也没有说明这个问题。所以来这请问下大神们,这个问题是什么原因导致的呢?是我哪里的问题导致的吗?

2488 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/362139

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX