Span Not 查询
原文链接 : https://www.elastic.co/guide/en/elasticsearch/reference/5.4/query-dsl-span-not-query.html
译文链接 : http://www.apache.wiki/pages/viewpage.action?pageId=10029284
删除与另一个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 | 如果设置包含范围内的令牌数量不能与排除范围重叠。相当于前置和后置的设置。 |
