国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Elasticsearch 電商場(chǎng)景:明明有這個(gè)關(guān)鍵詞,但是搜不出來(lái),怎么辦?

開發(fā) 前端
本文是基于實(shí)戰(zhàn)問(wèn)題的思路探討。要說(shuō)明的是:Ngram 的本質(zhì)是空間換時(shí)間,可能會(huì)導(dǎo)致寫入的延時(shí)以及存儲(chǔ)的成倍增長(zhǎng),選型一定要慎重。

1、實(shí)戰(zhàn)問(wèn)題

  • 場(chǎng)景:電商創(chuàng)業(yè)公司(非傳統(tǒng)巨頭)
  • 讀者描述需求:

content是一個(gè)text類型,用的 ik_max_word 分的詞,需要根據(jù)關(guān)鍵詞做精準(zhǔn)匹配,并且按照發(fā)布時(shí)間倒序。

比如我搜:小米6s,搜出來(lái)的結(jié)果要精確匹配到:小米6s,并且按照用戶的發(fā)布時(shí)間倒序排序。

現(xiàn)在的問(wèn)題是用 match_pharse 搜索的時(shí)候,有時(shí)候文檔里明明有這個(gè)關(guān)鍵詞,但是搜不出來(lái),嘗試了好幾種手段......

熟悉咱們公眾號(hào)推文的同學(xué)應(yīng)該知道,咱們分別在 2018年、2020年、2022年 都做過(guò)多次類似問(wèn)題的討論。

探究 | 明明存在,怎么搜索不出來(lái)呢?

Elasticsearch能檢索出來(lái),但不能正確高亮怎么辦?

由 Elasticsearch 空間換時(shí)間的線上問(wèn)題說(shuō)開去......

2、重新梳理一下檢索認(rèn)知

2.1 分詞和詞典的本質(zhì)

數(shù)據(jù)索引化的過(guò)程是借助分詞器完成的,如讀者的分詞器是 IK 中文分詞器。

問(wèn)題來(lái)了?IK 中文分詞器能包含全部的詞匯嗎?

大家看 medcl 大佬開源的 IK 分詞器的源碼中能找到 main.dic 大小是 2.92 MB。并且這個(gè)詞典 8 年+ 沒(méi)有更新過(guò)。

圖片圖片

顯然:IK 默認(rèn)詞典覆蓋不了全部詞匯,尤其諸如“顯眼包”、“小米14”、“奧利給”、“葉氏那拉”等的新詞。如下截圖是我自定義的詞典的詞庫(kù)檢索截圖。

圖片圖片

再來(lái)一波舉例看看:

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":"奧利給是一個(gè)網(wǎng)絡(luò)流行詞,第一次出現(xiàn)在一名快手主播直播時(shí)說(shuō)的正能量語(yǔ)錄里。"}


## 分詞為:“奧利” 和 “給” 兩個(gè)詞
POST my_index_0512/_analyze
{
  "text":"奧利給是一個(gè)網(wǎng)絡(luò)流行詞,第一次出現(xiàn)在一名快手主播直播時(shí)說(shuō)的正能量語(yǔ)錄里。",
  "analyzer":"ik_smart"
}

## 檢索不能召回結(jié)果,這里用 term 主要說(shuō)明問(wèn)題,合理性待商榷!
POST my_index_0512/_search
{
  "profile": true, 
  "query": {
    "term": {
      "title": "奧利給"
    }
  }
}

圖片圖片

結(jié)論:詞典決定分詞,詞典里沒(méi)有的詞,極大可能(有一定概率,比如:match_phrase 詞+詞組合的情況)檢索會(huì)檢索不到。

ps: 關(guān)于 term、match、match_phrase 區(qū)別等,推薦閱讀:檢索選型。

2.2 全文檢索的本質(zhì)

全文檢索的本質(zhì)是查詢待檢索的關(guān)鍵詞在寫入所創(chuàng)建的索引中是否存在的過(guò)程。

存在,則召回;不存在,則返回空。

2.3 明明有這個(gè)關(guān)鍵詞,但是搜不出來(lái)的本質(zhì)

表面上可以看出,之前咱們2018年、2020年、2022年討論的方案用 match、match_phrase、match_phrase_prefix 等再結(jié)合 slop,貌似能解決一些問(wèn)題,好像有些不召回的情況,可以召回了。

但,依然治標(biāo)不治本。依然會(huì)存在一些“新詞”、“詞典里沒(méi)有的詞”等看似明明一段話里存在的詞,就是檢索不到的原因。

3、能不能根治呢?

答案:不完全能!

但,可以嘗試空間換時(shí)間,借助 Ngram 能解決 99% 以上場(chǎng)景的問(wèn)題。

針對(duì)讀者的問(wèn)題,借助 Ngram 分詞實(shí)操一下:

### 3.1 創(chuàng)建索引
DELETE new_spy_uat2
PUT 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 是一個(gè)基于 n-gram 的分詞器,配置了從最小 2 個(gè)字符到最大 10 個(gè)字符的 n-gram。

在《一本書講透 Elasticsearch》第6.4 章節(jié) P111 解讀了自定義分詞器的三大核心組成:

  • character filter
  • tokenizer
  • token filter

咱們上面的“my_char_filter”定義了文本在分詞前進(jìn)行預(yù)處理的字符過(guò)濾規(guī)則。實(shí)際是使用正則表達(dá)式刪除所有非字母、非數(shù)字、非空格字符,只保留字母、數(shù)字和空白字符,中文字符是可以保留的。

N-gram 是一種分詞方法,通過(guò)從文本中提取 n 個(gè)連續(xù)字符的滑動(dòng)窗口來(lái)創(chuàng)建詞元(tokens)。這種方法在處理需要部分匹配和模糊搜索的應(yīng)用中非常有用,比如搜索建議和拼寫錯(cuò)誤的容錯(cuò)處理。

在這種配置下,文本會(huì)被分解成所有可能的 2 到 10 個(gè)字符的組合。

例如,要執(zhí)行如下檢索:

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

分詞結(jié)果如下:

圖片圖片

這種方法可以大大增加索引的大小因?yàn)槊總€(gè)詞都被分解成多個(gè)子詞,但同時(shí)也提高了搜索的靈活性和準(zhǔn)確性,尤其是在搜索短文本或關(guān)鍵詞片段時(shí)。

這樣的分詞器尤其適合于搜索引擎的自動(dòng)補(bǔ)全功能和處理用戶可能的輸入錯(cuò)誤,因?yàn)樗軌蛟谟脩糨斎氩糠中畔r(shí)就開始匹配相關(guān)的詞條。

3.2 導(dǎo)入數(shù)據(jù)

POST new_spy_uat2/_bulk
{ "index" : { "_index" : "new_spy_uat2", "_id" : "1" } }
{ "content" : "新品豪車??限1000單食物鏈巴氏小仙包犬濕糧360g??16.9,折??8.4/袋人食級(jí)鮮肉泥,健體增肌首選(gkqHWGV0r4J)/ AC01" ,"createTime":1715323447000}
{ "index" : { "_index" : "new_spy_uat2", "_id" : "2" } }
{ "content" : "??搶??嬰兒包單??12.3起????搶??嬰兒包單??12.3起????史D??愛(ài)貝迪拉包單??忦啦??小跑快沖,錯(cuò)過(guò)大腿拍青" ,"createTime":1714323447000}
{ "index" : { "_index" : "new_spy_uat2", "_id" : "3" } }
{ "content" : "盛夏光年gala青春版34/包?單拍好價(jià)???34/包?單拍好價(jià)?34/包?單拍好價(jià)???M-3XL碼  紙褲&拉褲?無(wú)卷 88vip疊+3富代" ,"createTime":1716323447000}
{ "index" : { "_index" : "new_spy_uat2", "_id" : "3" } }
{ "content" : "小米6s真便宜?34/包?單拍好價(jià)???M-3XL碼  紙褲&拉褲?無(wú)卷 88vip疊+3富代" ,"createTime":1716323447000}

3.3 驗(yàn)證分詞

POST new_spy_uat2/_analyze
{
  "analyzer":"my_analyzer",
  "text":"小米6s真便宜?34/包?單拍好價(jià)???M-3XL碼  紙褲&拉褲?無(wú)卷 88vip疊+3富代"
}

圖片圖片

3.4 執(zhí)行檢索

POST new_spy_uat2/_search
{
  "query": {
    "match": {
      "content": "小米6s"
    }
  }
}

如上檢索必然能找回結(jié)果。

圖片圖片

3.5 結(jié)合業(yè)務(wù)需求再完善檢索語(yǔ)句

POST new_spy_uat2/_search
{
  "query": {
    "match": {
      "content": "小米6s"
    }
  },
  "sort": [
    "_score",  // 先按相關(guān)性得分排序
    {
      "createTime": {
        "order": "desc"  // 再按發(fā)布時(shí)間倒序排序
      }
    }
    ]
}

此處需要結(jié)合業(yè)務(wù)情況具體問(wèn)題具體分析。

4、小結(jié)

本文是基于實(shí)戰(zhàn)問(wèn)題的思路探討。要說(shuō)明的是:Ngram 的本質(zhì)是空間換時(shí)間,可能會(huì)導(dǎo)致寫入的延時(shí)以及存儲(chǔ)的成倍增長(zhǎng),選型一定要慎重。

只有高精準(zhǔn)檢索要求的場(chǎng)景才考慮 Ngram 分詞。

普通業(yè)務(wù)場(chǎng)景實(shí)際是容許一些數(shù)據(jù)明明存在但就是無(wú)法召回的情況的,現(xiàn)在主流搜索引擎Google、Bing、baidu等都肯定無(wú)法召回全部數(shù)據(jù)的。

所以,還得結(jié)合業(yè)務(wù)場(chǎng)景進(jìn)行探討。

責(zé)任編輯:武曉燕 來(lái)源: 銘毅天下Elasticsearch
相關(guān)推薦

2011-06-20 14:32:59

關(guān)鍵詞

2011-06-07 18:45:41

關(guān)鍵詞

2023-02-07 13:51:11

SQLupdate語(yǔ)句

2011-06-14 19:11:38

關(guān)鍵詞

2022-06-01 11:52:42

網(wǎng)站客戶端網(wǎng)絡(luò)

2013-08-26 15:43:40

AppStore關(guān)鍵詞開發(fā)者應(yīng)用選取關(guān)鍵詞

2011-05-25 17:58:00

2019-12-22 13:48:26

退休科技行業(yè)大佬

2011-05-25 17:38:56

關(guān)鍵詞

2024-07-15 09:08:51

源碼debug根節(jié)點(diǎn)

2011-06-14 10:01:03

長(zhǎng)尾關(guān)鍵詞

2011-06-19 12:20:47

長(zhǎng)尾關(guān)鍵詞

2012-03-20 22:19:16

Linux

2014-09-12 14:03:45

操作系統(tǒng)

2009-11-03 09:02:59

Windows 7蘋果競(jìng)爭(zhēng)

2011-07-22 15:48:46

SEO

2011-06-29 11:20:25

關(guān)鍵詞SEO

2011-05-17 16:44:13

seo

2024-06-13 09:05:12

2011-06-10 14:13:24

關(guān)鍵詞
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

91九色精品视频| 日本香蕉视频在线观看| 中文字幕在线高清| 亚洲国产精品精华液2区45| 99一区二区| 亚洲午夜免费| 欧美一区二区三区色| 丁香激情视频| 国产电影一区二区三区| 成人免费视频在线观看超级碰| 丁香婷婷久久| 精品少妇一区二区三区在线视频| 香港经典三级在线| 久久欧美一区二区| 国产又爽又黄ai换脸| 国产精品99一区二区| 欧美壮男野外gaytube| 日本综合视频| 精品国一区二区三区| 男人的天堂av高清在线| 国产精品无码永久免费888| 青青草影院在线观看| 亚洲三级视频| 亚洲一区二区中文字幕| 亚洲欧美tv| 久久久久久久久久久久av| 青草在线视频| 国产精品第10页| 亚洲精品视频区| 久久精品欧美视频| 激情视频在线观看| 午夜精品aaa| av漫画网站| 不卡的av电影| 成人高清dvd| 91精品久久久久久蜜桃| 久久国产精品美女| 2021国产精品视频| 一二三区高清| 欧美视频日韩| 国产精品免费一区二区三区都可以| 影院在线观看全集免费观看| 亚洲精品免费在线播放| 日韩av网址大全| 日韩在线免费观看视频| 日本肉肉一区| 色www永久免费视频首页在线 | 校园春色亚洲色图| 久久久久久久久久网| 欧美不卡激情三级在线观看| 偷拍视频一区二区三区| 精品视频在线播放| 欧产日产国产精品视频| 欧美在线视频二区| 亚洲高清在线观看| 四虎成人精品永久免费av九九| 欧美日韩国产中字| 亚洲一区二区少妇| 竹内纱里奈兽皇系列在线观看| 91久色porny| 成人激情av| 精品久久美女| 97成人精品区在线播放| 91久久青草| 精品无人区太爽高潮在线播放 | cao在线视频| 欧美激情手机在线视频| 免费亚洲网站| 樱花www成人免费视频| 国产不卡高清在线观看视频| www.亚洲.com| 亚洲精品国产精品自产a区红杏吧| 欧美aaaaaaa| 久久影视电视剧免费网站清宫辞电视| 99久久久国产| 国产精品久久久久77777| 在线观看国产精品入口| 国产精品丝袜久久久久久消防器材| 精品欧美aⅴ在线网站| 成人综合影院| 亚洲精品一区二区三区蜜桃下载| 国内外激情在线| 国产亚洲aⅴaaaaaa毛片| 精品麻豆一区二区三区| 亚洲天堂色网站| 1769国产精品视频| 97香蕉久久夜色精品国产| 国产乱一区二区| 国产爆初菊在线观看免费视频网站| 91成人小视频| 欧美日韩一区二区在线观看视频 | 精品丝袜一区二区三区| 最新av在线播放| 亚洲欧美中文日韩v在线观看| 麻豆国产一区| 久久久视频精品| 久久av中文| 亚洲欧美日韩不卡| 亚洲成人激情综合网| 久久不见久久见国语| 五月婷婷在线视频| 久久久久久久免费视频了| 日本视频一二三区中文字幕| 日韩视频一区二区三区在线播放| 综合久久伊人| 国产精品国色综合久久| www.在线欧美| 岛国在线视频免费看| 中文国产成人精品久久一| 99久久国产综合精品成人影院| 99精品一级欧美片免费播放| 亚洲图片有声小说| 91精品国产66| 国产无套精品一区二区| 国产欧美一区二区精品性色| 成人欧美在线| 日韩美女在线观看| av激情综合网| 羞羞网站在线看| 91精品久久久久久久久久另类 | jizzjizzxxxx| 欧美一卡二卡三卡| 欧洲乱码伦视频免费| a级免费在线观看| 制服.丝袜.亚洲.中文.综合| 国产探花一区| 一区二区三区免费播放| 亚洲人成在线免费观看| 中国色在线日|韩| 日韩新的三级电影| 国产不卡123| 亚洲综合在线小说| 美女任你摸久久| 久久精品国产99久久6 | 精品国产一二三| 西瓜成人精品人成网站| 一区二区在线中文字幕电影视频| 姬川优奈aav一区二区| www.神马久久| www.99热这里只有精品| 日本一卡二卡四卡精品 | 色免费在线视频| 亚洲一区二区黄| 久久精品国产一区二区三| 在线国产91| 99中文字幕| 日韩欧美精品网址| 日韩大片在线| 在线观看入口黄最新永久免费国产| 97精品国产97久久久久久免费| 成人av资源在线| 在线观看精品| 妺妺窝人体色www看人体| 亚洲日韩中文字幕| 国产麻豆91精品| 亚洲承认视频| 国产一区三区三区| 亚洲精品视频一区| 五月综合久久| 奇米888一区二区三区| 日本高清成人免费播放| 久久久久久久久久久妇女| 成人频在线观看| 国产精品777| 亚洲成人午夜电影| 99久久这里只有精品| 欧美xxx.com| 国产三级精品在线不卡| 欧美性色综合网| 麻豆91精品| 韩国成人漫画| 狠狠97人人婷婷五月| 久久国产精品电影| 国产精品麻豆欧美日韩ww| 欧美sss在线视频| 激情视频免费观看在线| 国产日韩欧美综合| 欧美手机在线视频| 美日韩一级片在线观看| 免费一级欧美在线观看视频| 亚洲欧洲日本精品| 92看片淫黄大片看国产片| 欧美日韩免费观看一区二区三区| 日日夜夜精品免费视频| 亚洲成人激情社区| 簧片在线免费看| 亚洲一区二区三区xxx视频| 欧美一二三四在线| 99久久久免费精品国产一区二区| 欧美变态挠脚心| 成人网视频在线观看| 一本一道久久久a久久久精品91| 色阁综合伊人av| 久久精品成人一区二区三区蜜臀| 精品88久久久久88久久久| 99久免费精品视频在线观看 | 激情av在线播放| 激情综合在线观看| 国产免费一区视频观看免费| 精品裸体舞一区二区三区|