首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ElasticSearch匹配多个字段,不同的slops

ElasticSearch匹配多个字段,不同的slops
EN

Stack Overflow用户
提问于 2014-02-25 12:26:00
回答 1查看 696关注 0票数 0

我有一个multi_match查询。有两个字段,我希望它们的斜率都不同。现在两者的斜率都是1,但是对于bio,我希望斜率是1,对于位置,我希望斜率是2。我该怎么做呢?

这是我的查询现在的样子:

代码语言:javascript
复制
{
   "query":{
      "multi_match":{
         "query":"San Diego",
         "type":"phrase",
         "slop":1,
         "fields":[
            "bio","location"

         ]
      }
   },
   "sort":[
      {
         "_score":"desc"
      }
   ],
   "size":50,
   "from":0,
   "fields":[
      "id",
      "bio",
      "location",

   ]
EN

回答 1

Stack Overflow用户

发布于 2014-02-25 16:05:21

多匹配查询所做的全部工作就是生成匹配查询,并将它们包装在dismax query中。这很方便,但如果您需要对每个匹配查询进行不同的配置,您可以自己创建此类查询:

代码语言:javascript
复制
"dis_max" : {
    "queries" : [
        {
            "match" : {
                "bio" : {
                    "query" : "San Diego",
                    "type" : "phrase",
                    "slop" : 1
                }
            }
        },
        {
            "match" : {
                "location" : {
                    "query" : "San Diego",
                    "type" : "phrase",
                    "slop" : 2
                }
            }
        }
    ]
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22004567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档