ids

Поиск документов по их идентификаторам

Запрос IDs (поиск по идентификаторам)

Назначение

Запрос ids позволяет находить документы по их уникальным идентификаторам в поле _id.

Синтаксис запроса

GET shakespeare/_search
{
  "query": {
    "ids": {
      "values": [
        "34229",
        "91296"
      ]
    }
  }
}

Параметры запроса

Параметр Тип данных Описание Обязательный По умолчанию
values Массив строк Список идентификаторов документов для поиска Да -
boost Число с плавающей точкой Коэффициент усиления релевантности. Значения >1 увеличивают вес, 0-1 уменьшают вес Нет 1.0

Особенности работы

  1. Тип идентификаторов:
    Идентификаторы всегда передаются как строки, даже если в системе они числовые.

  2. Производительность:
    Запрос оптимален для выборки небольшого количества документов по известным ID.

  3. Использование с boost:
    Пример с изменением релевантности:

    GET shakespeare/_search
    {
      "query": {
        "ids": {
          "values": ["34229", "91296"],
          "boost": 2.0
        }
      }
    }
    
  4. Ограничения:

    • Не поддерживает шаблоны или диапазоны ID
    • Для поиска по >1000 ID рекомендуется использовать terms запрос
  5. Ответ системы:
    Возвращает только те документы, чьи ID присутствуют в индексе (несуществующие ID игнорируются без ошибки)

Альтернативные подходы

Для сложных сценариев поиска по ID можно использовать:

GET _search
{
  "query": {
    "terms": {
      "_id": ["34229", "91296"]
    }
  }
}