0
如何使用ElasticSearch創建基於關鍵字的搜索,其中應在結果集的頂部顯示精確的詞組匹配,然後是包含該短語的任何詞的其他匹配。完全匹配查詢文本短語應顯示在頂部,後面跟着其他單詞匹配
對於搜索查詢的一個例子是敏捷的棕色狐狸和結果集將是這樣的:敏捷的棕色狐狸,快速狐狸,棕色狐狸等
應該是什麼辦法使我們得到慾望結果集。
如何使用ElasticSearch創建基於關鍵字的搜索,其中應在結果集的頂部顯示精確的詞組匹配,然後是包含該短語的任何詞的其他匹配。完全匹配查詢文本短語應顯示在頂部,後面跟着其他單詞匹配
對於搜索查詢的一個例子是敏捷的棕色狐狸和結果集將是這樣的:敏捷的棕色狐狸,快速狐狸,棕色狐狸等
應該是什麼辦法使我們得到慾望結果集。
嘗試用 'QUERY_STRING': -
原始數據: -
1) quick brown fox
2) quick fox
3) brown fox
QUERY: -
{
"query": {
"query_string": {
"fields" : ["fieldName"] ,
"query": "*quick* *brown* *fox*"
}
}
}
響應將是: -
1)quick brown fox
2)brown fox
3)quick fox
我覺得QUERY_STRING做合適的工作。我們有三個令牌(快速,棕色,狐狸)。 Query_string比「快狐」更喜歡「棕色狐狸」,因爲它會優先考慮組合標記而不是分隔標記。