小编Man*_*uAc的帖子

Elasticsearch:如何使用带过滤器的dismax查询

我很难弄清楚如何使用elsticsearch dis_max查询和过滤器.

当我这样做:

{
    "query": {
        "dis_max": {
            "queries": [{
                "multi_match": {}
            },
            { 
                "multi_match": {}
            }],
            "filter": {
                //Term filter
            }           
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

它说[dis_max]查询不支持[filter].但我可以使用带有过滤别名的dis_max查询.

例如:我使用下面定义的过滤器创建一个别名,并在执行dis_max查询时使用相同的方法,它完美地运行.

 {
   "add" : {
       "index" : "test1",
       "alias" : "alias1",
       "filter" : { //Term filter }
    }
 }
Run Code Online (Sandbox Code Playgroud)

因此,应该在不创建别名的情况下实现此目的.任何人都可以告诉我该怎么做.

dismax elasticsearch

4
推荐指数
1
解决办法
2896
查看次数

标签 统计

dismax ×1

elasticsearch ×1