簡體   English   中英

Elasticsearch 中帶有 BoolQueryBuilder 的 SuggestionBuilder

[英]SuggestionBuilder with BoolQueryBuilder in Elasticsearch

我目前正在使用 BoolQueryBuilder 來構建文本搜索。 我遇到了拼寫錯誤的問題。 當有人搜索“chiar”而不是“chair”時,我必須向他們展示一些建議。

我瀏覽了文檔並觀察到 ​​SuggestionBuilder 對獲取建議很有用。

我可以在單個查詢中發送所有請求,以便在結果為零時顯示建議嗎?

無需發送不同的搜索詞,即chairchiar來獲得建議,它既不高效也不高效,而且您不知道用戶可能拼錯的所有組合。

相反, 在匹配查詢本身中使用模糊查詢模糊參數,可以在 bool 查詢中使用。

讓我向您展示一個示例,使用帶有 fuzziness 參數的匹配查詢。

索引定義

{
    "mappings": {
        "properties": {
            "product": {
                "type": "text"
            }
        }
    }
}

索引示例文檔

{
  "product" : "chair"
}

帶有錯誤術語chiar搜索查詢

{
    "query": {
        "match" : {
            "product" : {
                "query" : "chiar",
                "fuzziness" : "4" --> control it according to your application
            }
        }
    }
}

搜索結果

 "hits": [
      {
        "_index": "so_fuzzy",
        "_type": "_doc",
        "_id": "1",
        "_score": 0.23014566,
        "_source": {
          "product": "chair"
        }
      }

暫無
暫無

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

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