小编Ale*_*mes的帖子

如何使用minimum_should_match在多个字段中搜索?

我正在尝试过滤弹性搜索的结果,它必须返回与搜索文本80%兼容的结果.

当我只为一把钥匙做这件事时,minimum_should_match作品完美无缺:

{
       "size":30,
       "from":930,
       "query":{
          "filtered":{
             "query":{
                "query_string":{
                   "default_field":"campo1",
                   "query":"portugues",                  
                   "minimum_should_match":"80%"
                }
             }
          }
       }
    }
Run Code Online (Sandbox Code Playgroud)

当我使用多个密钥进行搜索时,minimum_should_match无法正常工作,返回70%兼容性的结果:

{
       "size":30,
       "from":123420,
       "query":{
          "filtered":{
             "query":{
                "query_string":{
                   "default_operator":"or",
                   "query":"portugues",
                   "fields":[
                      "campo1",
                      "campo2^5",
                      "campo3"
                   ],
                   "minimum_should_match":"80%"
                }
             }
          }
       }
    }
Run Code Online (Sandbox Code Playgroud)

据我所知,我需要minimum_should_match按键设置,但我不知道如何做同样的事情.如果有人可以帮助我这样做,那就太棒了.

indexing search elasticsearch

9
推荐指数
1
解决办法
2万
查看次数

标签 统计

elasticsearch ×1

indexing ×1

search ×1