Запрос 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.