Pinned Post

Recent Posts

elastic 自定义搜索高亮关键字:


array(3) {
  ["index"]=>
  string(11) "enterprises"
  ["type"]=>
  string(11) "enterprises"
  ["body"]=>
  array(4) {
    ["query"]=>
    array(1) {
      ["match"]=>
      array(1) {
        ["name"]=>
        string(6) "中铁"
      }
    }
    ["size"]=>
    int(10)
    ["from"]=>
    int(0)
    ["highlight"]=>
    array(1) {
      ["fields"]=>
      array(1) {
        ["name"]=>
        array(2) {
          ["pre_tags"]=>
          array(1) {
            [0]=>
            string(26) "<em class="searchKeyword">"
          }
          ["post_tags"]=>
          array(1) {
            [0]=>
            string(5) "</em>"
          }
        }
      }
    }
  }
}

在需要高亮的字段(本例中的 name )定义高亮关键字前后的标识:pre_tags、post_tags, 如果 name 字段直接是个空对象 stdClass 则使用 Elastic 默认的: <em>..</em> 来标识关键字。