簡體   English   中英

提高查詢中的Elasticsearch字段和字段中的單詞

[英]Boosting on an elasticsearch field and words in the field within the query

我正在嘗試實現以下方案...

如果查詢在此字段中包含特定單詞,則在我的Elasticsearch索引中將包含許多特定記錄,我希望它們是結果1。 該字段是公司名稱,因此例如,如果有人在搜索中輸入“ ford”,則公司名稱字段將比所有其他字段都有提升,因此這是最高分.....這似乎對我來說很有效。 ..福特,日產等...

但是...如果查詢中顯示“福特汽車銷售”,則其他頁面的排名高於我想要的頁面,因為許多頁面包含所有這些術語(搜索運算符為AND)...但是有一種方法可以不管查詢中或在其他地方找到多少個單詞,都可以通過在公司名稱字段中增加單詞來將我的頁面排名保持在頂部。

最終,我可以以某種方式在現場設置公司名稱的變體以提高這些結果...因此,在名稱為菲亞特克萊斯勒的地方,設置用戶可以搜索的其他變體,例如沒有連字符的“菲亞特克萊斯勒”。 ...

謝謝你的幫助....

在查詢中,當您使用“字段”來指定要搜索的字段時,請使用^將升號添加到“公司名稱”字段中。

例:

{
    "fields": ["company_name^10","other_field_a", "other_field_b"],
    "query" : {
        "term" : { "company_name" : "ford" }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM