IMPORTANT: No additional bug fixes or documentation updates
will be released for this version. For the latest information, see the
current release documentation.
Span within query
edit
A newer version is available. Check out the latest documentation.
Span within query
editReturns matches which are enclosed inside another span query. Here is an example:
resp = client.search(
query={
"span_within": {
"little": {
"span_term": {
"field1": "foo"
}
},
"big": {
"span_near": {
"clauses": [
{
"span_term": {
"field1": "bar"
}
},
{
"span_term": {
"field1": "baz"
}
}
],
"slop": 5,
"in_order": True
}
}
}
},
)
print(resp)
response = client.search(
body: {
query: {
span_within: {
little: {
span_term: {
"field1": 'foo'
}
},
big: {
span_near: {
clauses: [
{
span_term: {
"field1": 'bar'
}
},
{
span_term: {
"field1": 'baz'
}
}
],
slop: 5,
in_order: true
}
}
}
}
}
)
puts response
const response = await client.search({
query: {
span_within: {
little: {
span_term: {
field1: "foo",
},
},
big: {
span_near: {
clauses: [
{
span_term: {
field1: "bar",
},
},
{
span_term: {
field1: "baz",
},
},
],
slop: 5,
in_order: true,
},
},
},
},
});
console.log(response);
GET /_search
{
"query": {
"span_within": {
"little": {
"span_term": { "field1": "foo" }
},
"big": {
"span_near": {
"clauses": [
{ "span_term": { "field1": "bar" } },
{ "span_term": { "field1": "baz" } }
],
"slop": 5,
"in_order": true
}
}
}
}
}
The big and little clauses can be any span type query. Matching
spans from little that are enclosed within big are returned.