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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

ES之Highlight及Suggest搜索推荐详解

發布時間:2024/3/26 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ES之Highlight及Suggest搜索推荐详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一. Highlight高亮查詢

a) 三種高亮:

i. unified highlighter:默認的高亮方式,使用Lucene的實現方式

ii. plain highlighter:性能較高,消耗少量內存,性價比高

iii. fast vactor highlighter 適合字段較大,較復雜的查詢情況

b) 自定義標簽

i. pre_tag:起始標簽,如

ii. post_tag:結束標簽,如

c) 參數設置:https://www.elastic.co/guide/en/elasticsearch/reference/current/highlighting.html

d) 注意

i. 每個高亮字段都需要對應一個查詢

二. Suggest搜索推薦

  • 四種suggest:term suggester、phrase suggester、completion suggester、context suggester
  • i. term suggester:根據詞項的詞頻來推薦

  • 重要參數:
  • a) text:用戶搜索的文本

    b) field:要從哪個字段選取推薦數據

    c) analyzer:使用哪種分詞器

    d) size:每個建議返回的最大結果數

    e) sort:如何按照提示詞項排序,參數值只可以是以下兩個枚舉:

    i. score:分數>詞頻>詞項本身

    ii. frequency:詞頻>分數>詞項本身

    f) suggest_mode:搜索推薦的推薦模式,參數值亦是枚舉:

    i. missing:默認值,僅匹配不在索引中的詞項

    ii. popular:僅推薦比原始推薦詞項文檔詞頻(doc count)更高的相似詞項

    iii. always:根據 建議文本中的詞項 推薦 任何匹配的建議詞

    g) max_edits:可以具有最大偏移距離候選建議以便被認為是建議。只能是1到2之間的值。任何其他值都將導致引發錯誤的請求錯誤。默認為2

    h) prefix_length:前綴匹配的時候,必須滿足的最少字符

    i) min_word_length:最少包含的單詞數量

    j) min_doc_freq:最少的文檔頻率

  • phrase suggester:phrase suggester和term suggester相比,對建議的文本會參考上下文,也就是一個句子的其他token,不只是單純的token距離匹配,它可以基于共生和頻率選出更好的建議。
  • i. direct_generator:phrase suggester使用候選生成器生成給定文本中每個項可能的項的列表。單個候選生成器類似于為文本中的每個單獨的調用term suggester。生成器的輸出隨后與建議候選項中的候選項結合打分。目前只支持一種候選生成器,即direct_generator。建議API接受密鑰直接生成器下的生成器列表;列表中的每個生成器都按原始文本中的每個項調用。

    ii. highlight:高亮標簽

  • pre_tag:起始標簽,如

  • post_tag:閉合標簽,如

  • completion suggester:自動補全,自動完成,支持三種查詢【前綴查詢(prefix)/模糊查詢(fuzzy)/正則表達式查詢(regex)】
  • i. Completion:es的一種特有類型,專門為suggest提供,基于內存,性能很高。

    ii. prefix query:基于前綴查詢的搜索提示,是最常用的一種搜索推薦查詢。

  • prefix:客戶端搜索詞

  • field:建議詞字段

  • size:需要返回的建議詞數量

  • skip_duplicates:是否過濾掉重復建議,默認false

  • iii. fuzzy query

  • fuzziness:允許的偏移量,默認auto

  • transpositions:如果設置為true,則換位計為一次更改而不是兩次更改,默認為true。

  • min_length:返回模糊建議之前的最小輸入長度,默認 3

  • prefix_length:輸入的最小長度(不檢查模糊替代項)默認為 1

  • unicode_aware:如果為true,則所有度量(如模糊編輯距離,換位和長度)均以Unicode代碼點而不是以字節為單位。這比原始字節略慢,因此默認情況下將其設置為false。

  • iv. regex query:可以用正則表示前綴,不建議使用

  • context suggester:完成建議者會考慮索引中的所有文檔,但是通常希望提供由某些條件過濾和/或增強的建議。
  • 三. 地理位置搜索 疫情地圖

    a) geo_point:地理位置類型,經緯度坐標

    i. latitude:維度 縮寫:lat

    ii. longitude:經度 縮寫:lon

    b) Geo-bounding box query:兩個點確定一個矩形,搜索中間的點

    i. top_left:矩形左上點坐標

    ii. bottom_right:矩形右上角表

    參考文章:http://www.ysxbohui.com/article/25

    總結

    以上是生活随笔為你收集整理的ES之Highlight及Suggest搜索推荐详解的全部內容,希望文章能夠幫你解決所遇到的問題。

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