删除与另一个span查询重叠的匹配项。跨度不查询映射到Lucene SpanNotQuery。这是一个例子:
GET /_search
{
"query": {
"span_not" : {
"include" : {
"span_term" : { "field1" : "hoya" }
},
"exclude" : {
"span_near" : {
"clauses" : [
{ "span_term" : { "field1" : "la" } },
{ "span_term" : { "field1" : "hoya" } }
],
"slop" : 0,
"in_order" : true
}
}
}
}
}
include和exclude子句可以是任何跨类型查询。 include子句是对其匹配进行过滤的span查询,而exclude子句是其匹配不能与返回的匹配的span查询。
在上述示例中,除了具有前述之外的所有文档,除了具有术语hoya的文档之外,都将被过滤。
其他顶级选项:
| pre
| 如果在包含范围之前设置标记的数量不能与排除范围重叠。 |
| post
| 如果在包含范围之后设置标记的数量不能与排除范围重叠。 |
| dist
| 如果设置包含范围内的令牌数量不能与排除范围重叠。相当于前置和后置的设置。 |