日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

Elasticsearch 電商場景:明明有這個關鍵詞,但是搜不出來,怎么辦?

來源: 責編: 時間:2024-05-16 09:08:51 200觀看
導讀1、實戰問題場景:電商創業公司(非傳統巨頭)讀者描述需求:content是一個text類型,用的 ik_max_word 分的詞,需要根據關鍵詞做精準匹配,并且按照發布時間倒序。比如我搜:小米6s,搜出來的結果要精確匹配到:小米6s,并且按照用戶的發

1、實戰問題

  • 場景:電商創業公司(非傳統巨頭)
  • 讀者描述需求:

content是一個text類型,用的 ik_max_word 分的詞,需要根據關鍵詞做精準匹配,并且按照發布時間倒序。b2u28資訊網——每日最新資訊28at.com

比如我搜:小米6s,搜出來的結果要精確匹配到:小米6s,并且按照用戶的發布時間倒序排序。b2u28資訊網——每日最新資訊28at.com

現在的問題是用 match_pharse 搜索的時候,有時候文檔里明明有這個關鍵詞,但是搜不出來,嘗試了好幾種手段......b2u28資訊網——每日最新資訊28at.com

熟悉咱們公眾號推文的同學應該知道,咱們分別在 2018年、2020年、2022年 都做過多次類似問題的討論。b2u28資訊網——每日最新資訊28at.com

探究 | 明明存在,怎么搜索不出來呢?b2u28資訊網——每日最新資訊28at.com

Elasticsearch能檢索出來,但不能正確高亮怎么辦?b2u28資訊網——每日最新資訊28at.com

由 Elasticsearch 空間換時間的線上問題說開去......b2u28資訊網——每日最新資訊28at.com

2、重新梳理一下檢索認知

2.1 分詞和詞典的本質

數據索引化的過程是借助分詞器完成的,如讀者的分詞器是 IK 中文分詞器。b2u28資訊網——每日最新資訊28at.com

問題來了?IK 中文分詞器能包含全部的詞匯嗎?b2u28資訊網——每日最新資訊28at.com

大家看 medcl 大佬開源的 IK 分詞器的源碼中能找到 main.dic 大小是 2.92 MB。并且這個詞典 8 年+ 沒有更新過。b2u28資訊網——每日最新資訊28at.com

圖片圖片b2u28資訊網——每日最新資訊28at.com

顯然:IK 默認詞典覆蓋不了全部詞匯,尤其諸如“顯眼包”、“小米14”、“奧利給”、“葉氏那拉”等的新詞。如下截圖是我自定義的詞典的詞庫檢索截圖。b2u28資訊網——每日最新資訊28at.com

圖片圖片b2u28資訊網——每日最新資訊28at.com

再來一波舉例看看:b2u28資訊網——每日最新資訊28at.com

PUT my_index_0512{  "mappings": {    "properties": {      "title": {        "type": "text",        "analyzer": "ik_smart",        "fields": {          "keyword": {            "type": "keyword"          }        }      }    }  }}
POST my_index_0512/_bulk{"index":{"_id":1}}{"title":"奧利給是一個網絡流行詞,第一次出現在一名快手主播直播時說的正能量語錄里。"}## 分詞為:“奧利” 和 “給” 兩個詞POST my_index_0512/_analyze{  "text":"奧利給是一個網絡流行詞,第一次出現在一名快手主播直播時說的正能量語錄里。",  "analyzer":"ik_smart"}## 檢索不能召回結果,這里用 term 主要說明問題,合理性待商榷!POST my_index_0512/_search{  "profile": true,   "query": {    "term": {      "title": "奧利給"    }  }}

圖片圖片b2u28資訊網——每日最新資訊28at.com

結論:詞典決定分詞,詞典里沒有的詞,極大可能(有一定概率,比如:match_phrase 詞+詞組合的情況)檢索會檢索不到。b2u28資訊網——每日最新資訊28at.com

ps: 關于 term、match、match_phrase 區別等,推薦閱讀:檢索選型。b2u28資訊網——每日最新資訊28at.com

b2u28資訊網——每日最新資訊28at.com

2.2 全文檢索的本質

全文檢索的本質是查詢待檢索的關鍵詞在寫入所創建的索引中是否存在的過程。b2u28資訊網——每日最新資訊28at.com

存在,則召回;不存在,則返回空。b2u28資訊網——每日最新資訊28at.com

2.3 明明有這個關鍵詞,但是搜不出來的本質

表面上可以看出,之前咱們2018年、2020年、2022年討論的方案用 match、match_phrase、match_phrase_prefix 等再結合 slop,貌似能解決一些問題,好像有些不召回的情況,可以召回了。b2u28資訊網——每日最新資訊28at.com

但,依然治標不治本。依然會存在一些“新詞”、“詞典里沒有的詞”等看似明明一段話里存在的詞,就是檢索不到的原因。b2u28資訊網——每日最新資訊28at.com

3、能不能根治呢?

答案:不完全能!b2u28資訊網——每日最新資訊28at.com

但,可以嘗試空間換時間,借助 Ngram 能解決 99% 以上場景的問題。b2u28資訊網——每日最新資訊28at.com

針對讀者的問題,借助 Ngram 分詞實操一下:b2u28資訊網——每日最新資訊28at.com

### 3.1 創建索引DELETE new_spy_uat2PUT new_spy_uat2{  "settings": {    "index.max_ngram_diff": 10,    "analysis": {      "analyzer": {        "my_analyzer": {          "tokenizer": "my_tokenizer",          "char_filter": ["my_char_filter"]        }      },      "char_filter": {        "my_char_filter": {          "type": "pattern_replace",          "pattern": "[^//p{L}//p{N}//s]+",          "replacement": ""        }      },      "tokenizer": {        "my_tokenizer": {          "type": "ngram",          "min_gram": 2,          "max_gram": 10        }      }    }  },  "mappings": {    "properties": {      "content": {        "type": "text",        "analyzer": "my_analyzer",        "fields": {          "keyword": {            "type": "keyword"          }        }      }    }  }}

在提供的 Elasticsearch 配置中,my_tokenizer 是一個基于 n-gram 的分詞器,配置了從最小 2 個字符到最大 10 個字符的 n-gram。b2u28資訊網——每日最新資訊28at.com

在《一本書講透 Elasticsearch》第6.4 章節 P111 解讀了自定義分詞器的三大核心組成:b2u28資訊網——每日最新資訊28at.com

  • character filter
  • tokenizer
  • token filter

咱們上面的“my_char_filter”定義了文本在分詞前進行預處理的字符過濾規則。實際是使用正則表達式刪除所有非字母、非數字、非空格字符,只保留字母、數字和空白字符,中文字符是可以保留的。b2u28資訊網——每日最新資訊28at.com

N-gram 是一種分詞方法,通過從文本中提取 n 個連續字符的滑動窗口來創建詞元(tokens)。這種方法在處理需要部分匹配和模糊搜索的應用中非常有用,比如搜索建議和拼寫錯誤的容錯處理。b2u28資訊網——每日最新資訊28at.com

在這種配置下,文本會被分解成所有可能的 2 到 10 個字符的組合。b2u28資訊網——每日最新資訊28at.com

例如,要執行如下檢索:b2u28資訊網——每日最新資訊28at.com

POST new_spy_uat2/_analyze{  "analyzer":"my_analyzer",  "text":"奧利給這幾年才流行"}

分詞結果如下:b2u28資訊網——每日最新資訊28at.com

圖片圖片b2u28資訊網——每日最新資訊28at.com

這種方法可以大大增加索引的大小因為每個詞都被分解成多個子詞,但同時也提高了搜索的靈活性和準確性,尤其是在搜索短文本或關鍵詞片段時。b2u28資訊網——每日最新資訊28at.com

b2u28資訊網——每日最新資訊28at.com

這樣的分詞器尤其適合于搜索引擎的自動補全功能和處理用戶可能的輸入錯誤,因為它能夠在用戶輸入部分信息時就開始匹配相關的詞條。b2u28資訊網——每日最新資訊28at.com

3.2 導入數據

POST new_spy_uat2/_bulk{ "index" : { "_index" : "new_spy_uat2", "_id" : "1" } }{ "content" : "新品豪車??限1000單食物鏈巴氏小仙包犬濕糧360g 
                

本文鏈接:http://m.www897cc.com/showinfo-26-88368-0.htmlElasticsearch 電商場景:明明有這個關鍵詞,但是搜不出來,怎么辦?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 一文徹底搞明白中介模式

下一篇: 定時任務輕松搞定:使用Cron表達式和Quartz庫實現定時任務調度

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
欧美精品1区2区| 欧美色欧美亚洲另类七区| 在线视频观看日韩| 欧美色一级片| 欧美高清视频www夜色资源网| 欧美一区二区在线免费观看 | 国产精品一区二区久久久| 99在线精品免费视频九九视| 亚洲一区二区三区色| 99这里只有久久精品视频| 亚洲国产精品v| 一区福利视频| 最新日韩中文字幕| 韩国精品久久久999| 国产喷白浆一区二区三区| 国产精品女同互慰在线看| 国产精品呻吟| 国产一区999| 国内精品一区二区| 国产拍揄自揄精品视频麻豆| 你懂的国产精品| 国产精品美女一区二区| 国产精品美女午夜av| 国产老女人精品毛片久久| 国产欧美一区二区色老头| 在线日韩成人| 影音先锋亚洲精品| 亚洲电影免费在线| 午夜国产欧美理论在线播放| 欧美高清日韩| 国产亚洲欧美一区二区三区| 日韩视频专区| 久久久精品国产免大香伊 | 亚洲在线免费观看| 久久蜜桃香蕉精品一区二区三区| 亚洲欧美日韩精品一区二区| 久久亚洲影院| 国产精品久久久久婷婷| 91久久中文| 久久国产精品99精品国产| 欧美另类在线播放| 一区二区三区我不卡| 亚洲淫性视频| 欧美精品在线看| 激情欧美一区二区三区| 亚洲影音一区| 欧美激情视频在线播放| 黄色日韩网站视频| 午夜一区二区三区不卡视频| 欧美激情精品| 一区二区在线视频观看| 午夜视频久久久| 欧美视频二区36p| 亚洲人成人99网站| 久久只精品国产| 国产欧美韩国高清| 亚洲午夜三级在线| 欧美精品一区二区三区在线播放 | 国产在线欧美日韩| 亚洲无限av看| 欧美日韩一区二区免费视频| 亚洲高清免费| 久久久噜久噜久久综合| 国产无一区二区| 亚洲免费视频网站| 欧美日韩综合精品| 亚洲国产日日夜夜| 久久久久国产精品厨房| 国产亚洲电影| 欧美一级成年大片在线观看| 欧美日韩综合精品| 99这里有精品| 欧美日韩午夜在线视频| 最新日韩在线视频| 久久久亚洲精品一区二区三区| 日韩亚洲在线观看| 久久综合九色九九| 国产午夜亚洲精品不卡| 香蕉久久夜色精品| 国产精品美女久久久久av超清| 欧美麻豆久久久久久中文| 国产一级精品aaaaa看| 性伦欧美刺激片在线观看| 欧美亚男人的天堂| 在线一区观看| 欧美日韩三级在线| 亚洲视频在线二区| 欧美性视频网站| 亚洲一区二区三区中文字幕在线| 亚洲免费视频观看| 国产精品久久77777| 中文日韩在线视频| 国产精品久久网站| 亚洲一区二区三区久久| 国产精品国产三级国产普通话蜜臀| 欧美激情综合在线| 亚洲黄色片网站| 欧美理论在线播放| 亚洲深夜福利视频| 国产精品一级久久久| 一区二区三区精品视频| 国产精品初高中精品久久| 亚洲欧美伊人| 黑人巨大精品欧美黑白配亚洲| 亚洲成色最大综合在线| 久久精品一区二区三区不卡| 国产综合久久| 久久久国产精品一区| 亚洲国产岛国毛片在线| 欧美1区2区视频| aⅴ色国产欧美| 国产精品va| 欧美一区二区视频在线观看2020 | 亚洲麻豆av| 欧美精品久久天天躁| 一区二区三区视频在线播放| 欧美日韩亚洲系列| 亚洲一区不卡| 国产精品久久久久影院色老大 | 中文网丁香综合网| 国产精品手机在线| 小处雏高清一区二区三区| 国产精品一香蕉国产线看观看| 国产精品美女久久久久久免费| 国产三区精品| 久久久久9999亚洲精品| 亚洲第一精品电影| 欧美日韩综合精品| 亚洲一区二区三区视频| 国产精品日本| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美日韩第一页| 午夜精品一区二区三区在线| 国产综合色产在线精品| 麻豆成人av| 亚洲图片激情小说| 激情综合在线| 欧美性猛交视频| 久久亚洲精选| 亚洲无吗在线| 亚洲高清二区| 国产精品综合| 欧美国产一区视频在线观看| 亚洲欧美日韩国产一区二区| 在线欧美日韩国产| 国产精品美女久久久久aⅴ国产馆| 99re这里只有精品6| 国产精品一页| 欧美黑人在线播放| 欧美一区二区国产| 日韩午夜免费视频| 国产一区自拍视频| 欧美午夜大胆人体| 嫩草国产精品入口| 欧美一区二区在线看| 日韩视频欧美视频| 国内免费精品永久在线视频| 欧美午夜精品| 欧美精品一区在线播放| 久久综合久久综合久久| 亚洲欧美另类久久久精品2019| 欧美日韩国产丝袜另类| 国内偷自视频区视频综合| 欧美日韩国产大片| 久久激情五月激情| 亚洲淫性视频| 亚洲欧洲精品一区二区精品久久久| 亚洲欧美日韩视频二区| 亚洲国产成人精品女人久久久 | 国产伦精品一区二区三区高清| 亚洲一区二区三区777| 在线不卡亚洲| 国产亚洲精品福利| 国产精品久久久久国产精品日日| av成人毛片| 国产亚洲精品久久久久久| 欧美视频中文一区二区三区在线观看 | 国产一区二区0| 欧美日韩另类在线| 久久精品夜夜夜夜久久| 99re8这里有精品热视频免费| 欧美日韩亚洲高清一区二区| 久久婷婷国产麻豆91天堂| 亚洲欧美第一页| 亚洲一区二区成人| 一本色道久久综合亚洲二区三区| 欧美日本一区| 免费在线视频一区| 久久精品视频亚洲| 午夜精品久久99蜜桃的功能介绍| 国产午夜精品一区二区三区欧美 | 国产性做久久久久久| 欧美午夜一区二区| 欧美日韩视频在线一区二区观看视频| 亚洲无限乱码一二三四麻| 亚洲欧洲日韩综合二区| 在线视频成人| 影音先锋中文字幕一区| 国产欧美精品久久| 国产精品家教| 欧美午夜片欧美片在线观看| 欧美日本高清一区| 欧美国产三级| 巨胸喷奶水www久久久免费动漫|