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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

3-Elasticsearch深入搜索-近似匹配

發(fā)布時(shí)間:2023/12/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 3-Elasticsearch深入搜索-近似匹配 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一起來(lái)玩Elasticsearch,加我微信:wx1250134974

Elasticsearch認(rèn)證復(fù)習(xí)準(zhǔn)備

https://www.elastic.co/guide/cn/elasticsearch/guide/current/getting-started.html

##近似匹配概念:

舉例說(shuō)明:對(duì)于“eat food” ,不僅僅能區(qū)分是否包含eat或者food這一層,還能區(qū)分eat food這個(gè)關(guān)系(這個(gè)關(guān)系也僅僅是分詞之間臨近)。可以用這個(gè)功能做自動(dòng)機(jī)器人應(yīng)答,把歷史的問(wèn)與答存儲(chǔ)好,通過(guò)檢索更符合的問(wèn)題,找到歷史應(yīng)答。

?

?

1、近似匹配

GET /my_index/my_type/_search

{

????"query": {

????????"match_phrase": {

????????????"title": "quick brown fox"

????????}

????}

}

注:所有的term必須都出現(xiàn),并且位置順序也必須一樣

?

?

GET /my_index/my_type/_search

{

????"query": {

????????"match_phrase": {

????????????"title": {

???????????? "query": "quick fox",

???????????? "slop": ?1

????????????}

????????}

????}

}

注:所有term必須全部出現(xiàn),位置約束可以放寬一些(slop 控制位置約束嚴(yán)格的靈活度)

?

?

?

?

?

?

?

?

GET /my_index/my_type/_search

{

??"query": {

????"bool": {

??????"must": {

????????"match": {

??????????"title": {

????????????"query": ???????????????"quick brown fox",

????????????"minimum_should_match": "30%"

??????????}

????????}

??????},

??????"should": {

????????"match_phrase": {

??????????"title": {

????????????"query": "quick brown fox",

????????????"slop": ?50

??????????}

????????}

??????}

????}

??}

}

注:使用鄰近度來(lái)提高相關(guān)度,這樣可以返回較多的結(jié)果,且鄰近度高的會(huì)排在前面。

?

?

GET /my_index/my_type/_search

{

????"query": {

????????"match": { ?

????????????"title": {

????????????????"query": ???????????????"quick brown fox",

????????????????"minimum_should_match": "30%"

????????????}

????????}

????},

????"rescore": {

????????"window_size": 50,

????????"query": { ????????

????????????"rescore_query": {

????????????????"match_phrase": {

????????????????????"title": {

????????????????????????"query": "quick brown fox",

????????????????????????"slop": ?50

????????????????????}

????????????????}

????????????}

????????}

????}

}

注:

match 查詢決定哪些文檔將包含在最終結(jié)果集中,并通過(guò) TF/IDF 排序。

window_size 是每一分片進(jìn)行重新評(píng)分的頂部文檔數(shù)量。

?

?

?

  • 在索引時(shí)生成相關(guān)詞term,這樣關(guān)系就存在于term中,有助于更精確匹配合適文檔。這種操作性能還是不錯(cuò)的,唯一犧牲的可能就是多占用磁盤(pán)了
  • PUT /my_index2

    {

    ????"settings": {

    ????????"number_of_shards": 1, ?

    ????????"analysis": {

    ????????????"filter": {

    ????????????????"my_shingle_filter": {

    ????????????????????"type": ????????????"shingle",

    ????????????????????"min_shingle_size": 2,

    ????????????????????"max_shingle_size": 2,

    ????????????????????"output_unigrams": ?false ??

    ????????????????}

    ????????????},

    ????????????"analyzer": {

    ????????????????"my_shingle_analyzer": {

    ????????????????????"type": ????????????"custom",

    ????????????????????"tokenizer": ???????"standard",

    ????????????????????"filter": [

    ????????????????????????"lowercase",

    ????????????????????????"my_shingle_filter"

    ????????????????????]

    ????????????????}

    ????????????}

    ????????}

    ????}

    }

    注:

    ?

    ?

    A、"min_shingle_size"和"max_shingle_size" 默認(rèn)最小/最大的 shingle 大小是 2 ,所以實(shí)際上不需要設(shè)置。

    B、"output_unigrams" shingle 語(yǔ)匯單元過(guò)濾器默認(rèn)輸出 unigrams ,但是我們想讓 unigrams 和 bigrams 分開(kāi)。

    C、my_shingle_analyzer 使用我們常規(guī)的 my_shingles_filter 語(yǔ)匯單元過(guò)濾器。

    ?

    ?

    GET /my_index2/_analyze?analyzer=my_shingle_analyzer

    {

    ??"text":"Sue ate the alligator"

    }

    注:看下分詞效果,使用的話就直接用即可,最好把這個(gè)分詞的效果單獨(dú)存放使用。

    ?

    ?

    ?

    ?

    一起來(lái)玩Elasticsearch,加我微信:wx1250134974

    ?

    總結(jié)

    以上是生活随笔為你收集整理的3-Elasticsearch深入搜索-近似匹配的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。