首页 > 解决方案 > 编写支持前缀和模糊搜索的 ElasticSearch 查询

问题描述

我有一个包含字段的文档

1. title - text
2. description -text
3. author - text
4. content - text
5. time - date

我如何编写弹性搜索查询,以便每当用户键入带有一个或多个单词的某些文本时,它会显示所有具有搜索文本的文档作为结果的一部分,因为用户可能拼错了文本或用户的文字还不完整?

我写的查询是 -

query ={
  "_source": ["title","description","author],
  "size":20,
  "query" : {
      
                "multi_match" : {
                  "query":      search_text,
                  "type":       "bool_prefix",
                  "fields": ["title^3","description","content","author"],
                     "fuzziness" : 3
                }

              
         
     },
    
         "highlight": {
            "fields": {
              "content": {},
                
            }
          }
    
}

上述查询没有产生令人满意的结果。我该如何改进?

标签: elasticsearch

解决方案


推荐阅读