日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

白话Elasticsearch62-进阶篇之Highlighting高亮显示

發布時間:2025/3/21 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 白话Elasticsearch62-进阶篇之Highlighting高亮显示 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 概述
  • 官網
  • 示例
    • 查詢單個字段
    • 查詢多個字段
  • 三種highlight介紹 (unified, plain, fvh)
    • unified
    • plain
    • fvh
  • 設置高亮html標簽,默認是標簽
  • 高亮片段fragment的設置


概述

繼續跟中華石杉老師學習ES,第62篇

課程地址: https://www.roncoo.com/view/55


官網

7.3版本Highlighting: 戳這里

6.4版本: 戳這里


示例

為了演示這個功能,我們新建個索引

#新建artisan_indexPUT /artisan_index {"mappings": {"artisan_type": {"properties": {"title": {"type": "text","analyzer": "ik_max_word"},"content": {"type": "text","analyzer": "ik_max_word"}}}} }#寫入2條數據PUT /artisan_index/artisan_type/1 {"title": "小工匠學習ES","content": "小工匠的學習之旅!" }PUT /artisan_index/artisan_type/2 {"title": "我是小工匠","content": "歡迎大家" }

查詢單個字段

使用highlight查詢

GET /artisan_index/artisan_type/_search {"query": {"match": {"title": "小工匠"}},"highlight": {"fields": {"title": {}}} }

返回

<em></em> 會變成紅色,所以說你的指定的field中,如果包含了那個搜索詞的話,就會在那個field的文本中,對搜索詞進行紅色的高亮顯示。


查詢多個字段

第二個例子: 查詢多個字段

GET /blog_website/blogs/_search {"query": {"bool": {"should": [{"match": {"title": "博客"}},{"match": {"content": "博客"}}]}},"highlight": {"fields": {"title": {},"content": {}}} }

highlight中的field,必須跟query中的field一一對齊的


三種highlight介紹 (unified, plain, fvh)

unified


plain


fvh


總結:

  • 一般情況下,用plain highlight也就足夠了,不需要做其他額外的設置
  • 如果對高亮的性能要求很高,可以嘗試啟用posting highlight
  • 如果field的值特別大,超過了1M,那么可以用fast vector highlight

設置高亮html標簽,默認是標簽

GET /artisan_index/artisan_type/_search {"query": {"match": {"content": "小工匠"}},"highlight": {"pre_tags": ["<tag1>"],"post_tags": ["</tag1>"], "fields": {"content": {"type": "plain"}}} }


高亮片段fragment的設置

GET /_search {"query" : {"match": { "user": "kimchy" }},"highlight" : {"fields" : {"content" : {"fragment_size" : 150, "number_of_fragments" : 3, "no_match_size": 150 }}} }

  • fragment_size:舉個例子 你一個Field的值,比如有長度是1萬,但是你不可能在頁面上顯示這么。。設置要顯示出來的fragment文本判斷的長度,默認是100
  • number_of_fragments:你可能你的高亮的fragment文本片段有多個片段,你可以指定就顯示幾個片段

總結

以上是生活随笔為你收集整理的白话Elasticsearch62-进阶篇之Highlighting高亮显示的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。