第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Elastic Search 對(duì)多個(gè)字段進(jìn)行模糊匹配,并對(duì)多個(gè)字段組合得分進(jìn)行排序

Elastic Search 對(duì)多個(gè)字段進(jìn)行模糊匹配,并對(duì)多個(gè)字段組合得分進(jìn)行排序

PHP
慕桂英4014372 2023-04-21 14:14:43
我在 Laravel 中使用 Elastic Search,我的索引有 3 個(gè)字段text,mood,haloha_id。首先,我想匹配"haloha_id"(將 haloha_id 視為帖子,將文本視為該帖子的評(píng)論)如果匹配,則進(jìn)行進(jìn)一步匹配。假設(shè)"haloha_id"匹配現(xiàn)在我想匹配“文本”字段中的子字符串,然后匹配“心情”(整數(shù)或者 0,1,2 等)“只有當(dāng)某些“文本”匹配時(shí)才匹配心情,否則不匹配。我正在制作 Like Mine 查詢意味著與特定帖子的用戶評(píng)論匹配的評(píng)論將僅顯示。我的查詢中的問(wèn)題是我自己的評(píng)論沒(méi)有出現(xiàn)在頂部因此它匹配 100%如果某人的“心情”和“評(píng)論”與我的 100% 匹配,那么它就不會(huì)出現(xiàn)在頂部。我刪除了與“心情”相關(guān)的查詢,但分?jǐn)?shù)沒(méi)有影響,這意味著分?jǐn)?shù)不包括心情匹配的分?jǐn)?shù)。這是我的查詢。 "query"=>[          "bool"=>[                                        "should"=>[            "match"=>[                "text"=>[                    "query"=>$userHaloha->filtered_text,                    "fuzziness"=>"AUTO",                                ]            ]                                   ],        "minimum_should_match"=>1,        "must"=>[            "match"=>[                "mood"=>$userHaloha->mood,                        ],            "match"=>[                "haloha_id"=>$userHaloha->haloha_id            ]        ] 
查看完整描述

1 回答

?
慕桂英3389331

TA貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個(gè)贊

查詢是不言自明的。我添加了“haloha_id”來(lái)過(guò)濾塊(不對(duì)文檔評(píng)分),“text”添加到 must 塊(給文檔評(píng)分),“mood”添加到 should block(提升文檔)


{

? "query": {

? ? "bool": {

? ? ? "filter": [

? ? ? ? {

? ? ? ? ? "match": {

? ? ? ? ? ? "haloha_id": "5ecf6bff25a36366cd134db2"

? ? ? ? ? }

? ? ? ? }

? ? ? ],

? ? ? "must": [

? ? ? ? {

? ? ? ? ? "match": {

? ? ? ? ? ? "text": {

? ? ? ? ? ? ? "query": "chilli ",

? ? ? ? ? ? ? "fuzziness": "auto"

? ? ? ? ? ? }

? ? ? ? ? }

? ? ? ? }

? ? ? ],

? ? ? "should": [

? ? ? ? {

? ? ? ? ? "term": {

? ? ? ? ? ? "mood": {

? ? ? ? ? ? ? "value": 2

? ? ? ? ? ? }

? ? ? ? ? }

? ? ? ? }

? ? ? ]

? ? }

? }

}

mood:3 中的問(wèn)題比 mood:2(should 子句中的搜索詞)排名更高是由于分片

來(lái)自文檔

如果您注意到兩個(gè)內(nèi)容相同的文檔得到不同的分?jǐn)?shù),或者完全匹配的文檔沒(méi)有排在第一位,那么問(wèn)題可能與分片有關(guān)。默認(rèn)情況下,Elasticsearch 讓每個(gè)分片負(fù)責(zé)生成自己的分?jǐn)?shù)。然而,由于索引統(tǒng)計(jì)信息是得分的重要貢獻(xiàn)者,因此這僅在分片具有相似索引統(tǒng)計(jì)信息時(shí)才有效。假設(shè)是因?yàn)槟J(rèn)情況下文檔被均勻地路由到分片,那么索引統(tǒng)計(jì)數(shù)據(jù)應(yīng)該非常相似并且評(píng)分會(huì)按預(yù)期工作。但是,如果您:

在索引時(shí)使用路由,查詢多個(gè)索引,或者索引中的數(shù)據(jù)太少,那么搜索請(qǐng)求中涉及的所有分片很可能沒(méi)有相似的索引統(tǒng)計(jì)信息,并且相關(guān)性可能很差。

如果您有一個(gè)小數(shù)據(jù)集,解決此問(wèn)題的最簡(jiǎn)單方法是將所有內(nèi)容索引到具有單個(gè)分片 (index.number_of_shards: 1) 的索引中,這是默認(rèn)設(shè)置。那么所有文檔的索引統(tǒng)計(jì)信息都是相同的,并且分?jǐn)?shù)將是一致的。


查看完整回答
反對(duì) 回復(fù) 2023-04-21
  • 1 回答
  • 0 關(guān)注
  • 421 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)