zoukankan      html  css  js  c++  java
  • elasticesearch搜索返回高亮关键字

    • pre_tags 前缀标签
    • post_tags 后缀标签
    • tags_schema 设置为styled可以使用内置高亮样式
    • require_field_match 多字段高亮需要设置为false

    使用highlight为查询结果增加高亮效果

    {
      "query": {
        "bool": {
          "must": [
            {"match": {"name":"牛仔"}}
          ]
        }
      },
      "highlight": {
        "fields": {
          "name": {}
        }
      }
    }
    

    默认使用<em>标签包裹高亮字段

    "hits" : [
          {
            "_index" : "idx_product",
            "_type" : "_doc",
            "_id" : "eZfUTXEBZypi2P-SpqrE",
            "_score" : 0.88044095,
            "_source" : {
              "proId" : "2",
              "name" : "牛仔男外套",
              "desc" : "牛仔外套男装春季衣服男春装夹克修身休闲男生潮牌工装潮流头号青年春秋棒球服男 7705浅蓝常规 XL",
              "timestamp" : 1576313264451,
              "createTime" : "2019-12-13 12:56:56"
            },
            "highlight" : {"name" : ["<em>牛仔</em>男外套"]}
          },
          {
            "_index" : "idx_product",
            "_type" : "_doc",
            "_id" : "fZfXTXEBZypi2P-SPqrD",
            "_score" : 0.62191015,
            "_source" : {
              "proId" : "6",
              "name" : "HLA海澜之家牛仔裤男",
              "desc" : "HLA海澜之家牛仔裤男2019时尚有型舒适HKNAD3E109A 牛仔蓝(A9)175/82A(32)",
              "timestamp" : 1576314265571,
              "createTime" : "2019-12-18 15:56:56"
            },
            "highlight" : {"name" : ["HLA海澜之家<em>牛仔</em>裤男"]}
          }
        ]
    

    使用tag_schema:styled可以使用es内置高亮样式

    {
      "query": {
        "bool": {
          "must": [
            {"term": {"name":"牛仔"}}
          ]
        }
      },
      "highlight": {
        "tags_schema": "styled", 
        "fields": {
          "name": {}
        }
      }
    }
    
    "highlight" : {
              "name" : ["""<em class="hlt1">牛仔</em>男外套"""]
            }
    "highlight" : {
              "name" : ["""HLA海澜之家<em class="hlt1">牛仔</em>裤男"""]
            }
            
    

    highlight默认只支持单个属性高亮,使用require_field_match属性置为false则可以使所有属性高亮

    {
      "query": {
        "bool": {
          "must": [
            {"term": {"name":"牛仔"}}]
        }
      },
      "highlight": {
        "pre_tags": ["<font color='red'>"],
        "post_tags": ["<font/>"],
        "require_field_match": "false", 
        "fields": {
          "name": {},
          "desc": {}
        }
      }
    }
    
    "hits" : [
          {
            "_index" : "idx_product",
            "_type" : "_doc",
            "_id" : "eZfUTXEBZypi2P-SpqrE",
            "_score" : 0.88044095,
            "_source" : {
              "proId" : "2",
              "name" : "牛仔男外套",
              "desc" : "牛仔外套男装春季衣服男春装夹克修身休闲男生潮牌工装潮流头号青年春秋棒球服男 7705浅蓝常规 XL",
              "timestamp" : 1576313264451,
              "createTime" : "2019-12-13 12:56:56"
            },
            "highlight" : {
              "name" : [
                "<font color='red'>牛仔<font/>男外套"
              ],
              "desc" : [
                "<font color='red'>牛仔<font/>外套男装春季衣服男春装夹克修身休闲男生潮牌工装潮流头号青年春秋棒球服男 7705浅蓝常规 XL"
              ]
            }
          },
          {
            "_index" : "idx_product",
            "_type" : "_doc",
            "_id" : "fZfXTXEBZypi2P-SPqrD",
            "_score" : 0.62191015,
            "_source" : {
              "proId" : "6",
              "name" : "HLA海澜之家牛仔裤男",
              "desc" : "HLA海澜之家牛仔裤男2019时尚有型舒适HKNAD3E109A 牛仔蓝(A9)175/82A(32)",
              "timestamp" : 1576314265571,
              "createTime" : "2019-12-18 15:56:56"
            },
            "highlight" : {
              "name" : [
                "HLA海澜之家<font color='red'>牛仔<font/>裤男"
              ],
              "desc" : [
                "HLA海澜之家<font color='red'>牛仔<font/>裤男2019时尚有型舒适HKNAD3E109A <font color='red'>牛仔<font/>蓝(A9)175/82A(32)"
              ]
            }
          }
        ]
    
  • 相关阅读:
    FFmpeg简单使用:解封装 ---- 基本流程
    SDL播放PCM音频数据
    JDK8时间新API-2
    RocketMq延时队列的实现原理
    Kibana复杂查询语句
    Es基础api
    Redis sscan命令
    如何实现分布式的延时队列
    客户端从broker拉取的messagequeue的样子
    RocketMq多个consumerQueue长什么样子
  • 原文地址:https://www.cnblogs.com/haixiang/p/12642230.html
Copyright © 2011-2022 走看看