Запрос Span not
Удаляет совпадения, которые перекрываются другим span-запросом или находятся в пределах x токенов до (управляется параметром pre) или y токенов после (управляется параметром post) другого SpanQuery. Запрос span not сопоставляется с 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 могут быть любыми span-запросами. Клауза include — это span-запрос, совпадения которого отфильтровываются, а клауза exclude — это span-запрос, совпадения которого не должны перекрываться с возвращаемыми.
В приведенном выше примере все документы со словом hoya отфильтровываются, за исключением тех, которые имеют слово la перед ними.
Другие параметры верхнего уровня:
| | Если установлено, количество токенов перед включающим span не может перекрываться с исключающим span. По умолчанию 0. |
| | Если установлено, количество токенов после включающего span не может перекрываться с исключающим span. По умолчанию 0. |
| | Если установлено, количество токенов внутри включающего span не может перекрываться с исключающим span. Эквивалентно установке и |
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/query-dsl-span-not-query.html