IMPORTANT: No additional bug fixes or documentation updates
will be released for this version. For the latest information, see the
current release documentation.
Span multi-term query
edit
IMPORTANT: This documentation is no longer updated. Refer to Elastic's version policy and the latest documentation.
Span multi-term query
editThe span_multi query allows you to wrap a multi term query (one of wildcard,
fuzzy, prefix, range or regexp query) as a span query, so
it can be nested. Example:
resp = client.search(
query={
"span_multi": {
"match": {
"prefix": {
"user.id": {
"value": "ki"
}
}
}
}
},
)
print(resp)
response = client.search(
body: {
query: {
span_multi: {
match: {
prefix: {
'user.id' => {
value: 'ki'
}
}
}
}
}
}
)
puts response
const response = await client.search({
query: {
span_multi: {
match: {
prefix: {
"user.id": {
value: "ki",
},
},
},
},
},
});
console.log(response);
GET /_search
{
"query": {
"span_multi": {
"match": {
"prefix": { "user.id": { "value": "ki" } }
}
}
}
}
A boost can also be associated with the query:
resp = client.search(
query={
"span_multi": {
"match": {
"prefix": {
"user.id": {
"value": "ki",
"boost": 1.08
}
}
}
}
},
)
print(resp)
response = client.search(
body: {
query: {
span_multi: {
match: {
prefix: {
'user.id' => {
value: 'ki',
boost: 1.08
}
}
}
}
}
}
)
puts response
const response = await client.search({
query: {
span_multi: {
match: {
prefix: {
"user.id": {
value: "ki",
boost: 1.08,
},
},
},
},
},
});
console.log(response);
GET /_search
{
"query": {
"span_multi": {
"match": {
"prefix": { "user.id": { "value": "ki", "boost": 1.08 } }
}
}
}
}
span_multi queries will hit too many clauses failure if the number of terms that match the query exceeds the
indices.query.bool.max_clause_count search setting.
To avoid an unbounded expansion you can set the rewrite method of the multi term query to top_terms_* rewrite. Or, if you use span_multi on prefix query only,
you can activate the index_prefixes field option of the text field instead. This will
rewrite any prefix query on the field to a single term query that matches the indexed prefix.