2013-08-28 19:24:34 -04:00
|
|
|
[[query-dsl-span-not-query]]
|
|
|
|
=== Span Not Query
|
|
|
|
|
|
|
|
Removes matches which overlap with another span query. The span not
|
|
|
|
query maps to Lucene `SpanNotQuery`. Here is an example:
|
|
|
|
|
|
|
|
[source,js]
|
|
|
|
--------------------------------------------------
|
|
|
|
{
|
|
|
|
"span_not" : {
|
|
|
|
"include" : {
|
2014-07-27 15:16:22 -04:00
|
|
|
"span_term" : { "field1" : "hoya" }
|
2013-08-28 19:24:34 -04:00
|
|
|
},
|
|
|
|
"exclude" : {
|
2014-07-27 15:16:22 -04:00
|
|
|
"span_near" : {
|
|
|
|
"clauses" : [
|
|
|
|
{ "span_term" : { "field1" : "la" } },
|
|
|
|
{ "span_term" : { "field1" : "hoya" } }
|
|
|
|
],
|
|
|
|
"slop" : 0,
|
|
|
|
"in_order" : true
|
|
|
|
}
|
2013-08-28 19:24:34 -04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
--------------------------------------------------
|
|
|
|
|
|
|
|
The `include` and `exclude` clauses can be any span type query. The
|
|
|
|
`include` clause is the span query whose matches are filtered, and the
|
|
|
|
`exclude` clause is the span query whose matches must not overlap those
|
|
|
|
returned.
|
2014-07-27 15:16:22 -04:00
|
|
|
|
|
|
|
In the above example all documents with the term hoya are filtered except the ones that have 'la' preceeding them.
|