V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yuhuan66666
V2EX  ›  问与答

ElasticSearch 高亮的问题

  •  
  •   yuhuan66666 · 2017-05-18 10:07:51 +08:00 · 2488 次点击
    这是一个创建于 3054 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用的是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 类型),官方文档也没有说明这个问题。所以来这请问下大神们,这个问题是什么原因导致的呢?是我哪里的问题导致的吗?

    目前尚无回复
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2465 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 10:25 · PVG 18:25 · LAX 03:25 · JFK 06:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.