我很难弄清楚如何使用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)
因此,应该在不创建别名的情况下实现此目的.任何人都可以告诉我该怎么做.