Запрос Span first
Запрос span_first соответствует диапазонам, которые начинаются в начале поля и заканчиваются в пределах указанного количества позиций.
Этот запрос полезен, когда вы хотите найти термины или фразы, которые появляются в начале документа.
Например, вы можете использовать запрос span_first для выполнения следующих поисков:
- Найти документы, в которых определенные термины появляются в первых нескольких словах поля.
- Убедиться, что определенные фразы встречаются в начале текста или рядом с ним.
- Совпадать с шаблонами только тогда, когда они появляются в пределах указанного расстояния от начала.
Пример
Чтобы попробовать примеры в этом разделе, выполните шаги по настройке.
Следующий запрос ищет стеммированное слово “dress”, которое появляется в первых 4 позициях поля описания:
GET /clothing/_search
{
"query": {
"span_first": {
"match": {
"span_term": {
"description.stemmed": "dress"
}
},
"end": 4
}
}
}
Запрос соответствует документам 1 и 2:
- Документы 1 и 2 содержат слово “dress” на третьей позиции (“Long-sleeved dress…” и “Beautiful long dress”). Индексация слов начинается с 0, поэтому слово “dress” находится на позиции 2.
- Позиция слова “dress” должна быть меньше 4, как указано в параметре end.
Ответ
Параметр match может содержать любой тип запроса span, что позволяет сопоставлять более сложные шаблоны в начале полей.
Параметры
Следующая таблица перечисляет все параметры верхнего уровня, поддерживаемые запросами span_first. Все параметры обязательны.
Параметр | Тип данных | Описание |
---|---|---|
match | Объект | Запрос span для соответствия. Это определяет шаблон, который вы ищете в начале поля. |
end | Целое число | Максимальная конечная позиция (исключительно), разрешенная для совпадения запроса span. Например, end: 4 соответствует терминам на позициях 0–3. |