通過分配給該記錄的點提高記錄我的問題是,我們如何爲每個搜索記錄提供動態提升值?Elastic Search
在我的情況下,數據庫中的每個記錄都有一個點值分配給它,我必須在搜索時將該點賦值爲增強值。
感謝和問候
通過分配給該記錄的點提高記錄我的問題是,我們如何爲每個搜索記錄提供動態提升值?Elastic Search
在我的情況下,數據庫中的每個記錄都有一個點值分配給它,我必須在搜索時將該點賦值爲增強值。
感謝和問候
我解決了這個使用以下:
custom_score :script => "_score+doc['increase_relevance_points'].value" do
boolean do
should { match :increase_relevance_text, term}
end
end
您可以從索引數據庫記錄到ElasticSearch作爲一個整數點值。一旦它在那裏,你有很多選擇使用custom_score
或script based sorting。
如果你想通過point_value
的因素,以提高每一個結果,然後查詢可能看起來像:
"query": {
"custom_score" : {
"query" : {
....
},
"script" : "doc['point_value'].value * _score"
}
}
退房的custom score query docs全信息。
我想這一點,但,這並不適合我的要求 映射做 指標:attR1位 指標:attR2位 指標:increase_relevance_text 指標:decrease_relevance_text 結束 我必須增加記錄的提升,如果搜索詞匹配的文本在increase_relevance_text中,反之亦然。 –
我迫切需要一些解決方案。請幫助我。 –
我嘗試這個解決方案 custom_score做 查詢做 應該{匹配:increase_relevance_text,長期} 結束 腳本 '_score + doc.increase_relevance_points' 結束 得到錯誤 未定義的方法'#爲<輪胎::搜索查詢」 ::布爾查詢:0xb3c845d4> 請jamesc幫我。 –
請點擊「編輯」 ...請不要使用評論框在這裏更新你的問題。 – jamesc
如果你用'tyre'和or rails來標記問題,你可能會得到一些更好的答案,因爲它看起來就是你正在使用的。 – jamesc