Span Not 查询

删除与另一个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 | 如果设置包含范围内的令牌数量不能与排除范围重叠。相当于前置和后置的设置。 |