标题说明了一切:使用类型过滤器与在url/api中指定doc_type(即)之间有区别吗
...
"filter" : {
'type': {
'value': 'my_doc_type'
}
}
....
与
GET /my_index/my_doc_type/_search
编辑:我的意思是作为过滤查询中的过滤器;然而,我将保留这个问题,这样就可以从回答中收集到更多的信息。
是。
指定URL中的类型将在运行查询之前应用。
将类型指定为筛选器将在运行查询后应用。
附带说明一下,使用过滤查询而不是过滤器将类似于在URL中指定类型,因为它将在运行查询之前应用。
如果您使用facet,请注意Filters与Filtered查询的功能,因为它们在facet上的功能不同。
过滤查询:
{
"query":{
"filtered":{
"query":{
"term":{"name":"franky"}
},
"filter":{
"term":{"age":73}
}
}
}
}
过滤器:
{
"query":{
"term":{"name":"franky"}
},
"filter":{
"term":{"age":73}
}
}