API поиска
Возвращает результаты поиска, которые соответствуют запросу, определённому в запросе.
resp = client.search(
index="my-index-000001",
)
print(resp) response = client.search( index: 'my-index-000001' ) puts response
res, err := es.Search(
es.Search.WithIndex("my-index-000001"),
es.Search.WithPretty(),
)
fmt.Println(res, err) const response = await client.search({
index: "my-index-000001",
});
console.log(response); GET /my-index-000001/_search
Запрос
GET /<target>/_search
GET /_search
POST /<target>/_search
POST /_search
Предварительные условия
-
Если включены функции безопасности Elasticsearch, у вас должна быть
readправа доступа к индексу для целевого потока данных, индекса или псевдонима. Для межкластерного поиска см. Настройка прав доступа для межкластерного поиска.Для поиска в точке во времени (PIT) для псевдонима, у вас должна быть
readправа доступа к индексу для потоков данных или индексов псевдонима.
Описание
Позволяет выполнить запрос поиска и получить результаты поиска, соответствующие запросу. Вы можете указать запросы поиска, используя q параметр строки запроса или тело запроса.
Параметры пути
-
<target> - (Необязательно, строка) Список потоков данных, индексов и псевдонимов для поиска, разделённый запятыми. Поддерживает подстановку символов (
*). Для поиска во всех потоках данных и индексах опустите этот параметр или используйте*или_all.
Параметры запроса
Несколько параметров данного API могут быть заданы в параметрах запроса или в теле запроса. Если оба параметра указаны, используется только параметр запроса.
-
allow_no_indices -
(Необязательный, булевый) Если
false, запрос возвращает ошибку, если какое-либо выражение с подстановкой, алиас индекса, или значение_allуказывают только на отсутствующие или закрытые индексы. Это поведение применяется даже если запрос направлен на другие открытые индексы. Например, запрос, нацеленный наfoo*,bar*, возвращает ошибку, если индекс начинается сfoo, но ни один индекс не начинается сbar.По умолчанию
true.
-
allow_partial_search_results -
(Необязательный, булевый) Если
true, возвращает частичные результаты, если есть временные сбои запросов фрагментов или неисправности фрагментов. Еслиfalse, возвращает ошибку без частичных результатов. По умолчаниюtrue.Чтобы переопределить значение по умолчанию для этого поля, установите кластерное свойство
search.default_allow_partial_resultsвfalse. -
analyzer -
(Необязательный, строка) Анализатор для использования в строке запроса.
Этот параметр может быть использован только при указании параметра строки запроса
q. -
analyze_wildcard -
(Необязательный, булевый) Если
true, выражения с подстановкой и префиксные запросы анализируются. По умолчаниюfalse.Этот параметр может быть использован только при указании параметра строки запроса
q. -
batched_reduce_size - (Необязательный, целое число) Количество результатов фрагментов, которые должны быть уменьшены одновременно на узле координатора. Это значение следует использовать как механизм защиты для уменьшения нагрузки на память на запрос поиска, если потенциальное количество фрагментов в запросе может быть большим. По умолчанию
512.
-
ccs_minimize_roundtrips - (Необязательный, булевый) Если
true, сетевые запросы между узлом координатора и удалёнными кластерами минимизируются при выполнении запросов поиска по нескольким кластерам (CCS). См. Как поиск по нескольким кластерам обрабатывает сетевые задержки. По умолчаниюtrue. -
default_operator -
(Необязательный, строка) Оператор по умолчанию для запроса строки: ИЛИ или И. По умолчанию
OR.Этот параметр может быть использован только при указании параметра строки запроса
q. -
df -
(Необязательный, строка) Поле, используемое по умолчанию, когда в строке запроса нет префикса поля.
Этот параметр может быть использован только при указании параметра строки запроса
q. -
docvalue_fields - (Необязательный, строка) Список полей, разделенных запятыми, которые нужно вернуть в качестве представления значений документа каждого попадания. См. Поля значений документа.
-
expand_wildcards -
(Необязательный, строка) Тип индекса, с которым могут совпадать шаблоны с подстановкой. Если запрос может нацеливаться на потоки данных, этот аргумент определяет, будут ли шаблоны с подстановкой соответствовать скрытым потокам данных. Поддерживаются значения, разделенные запятыми, такие как
open,hidden. Допустимые значения:-
all - Соответствие любому потоку данных или индексу, включая скрытые.
-
open - Соответствие открытым, нескрытым индексам. Также соответствует любому нескрытому потоку данных.
-
closed - Соответствие закрытым, нескрытым индексам. Также соответствует любому нескрытому потоку данных. Потоки данных не могут быть закрыты.
-
hidden - Соответствие скрытым потокам данных и скрытым индексам. Должно быть комбинировано с
open,closedили обоими. -
none - Шаблоны с подстановкой не принимаются.
По умолчанию
open. -
-
explain - (Необязательный, булевый) Если
true, возвращает подробную информацию о вычислении оценки в составе попадания. По умолчаниюfalse.
-
from -
(Необязательный, целое число) Начальный смещение документа. Должно быть неотрицательным и по умолчанию равно
0.По умолчанию нельзя перелистывать более 10 000 попаданий, используя параметры
fromиsize. Чтобы перелистывать больше попаданий, используйте параметрsearch_after. -
ignore_throttled -
(Необязательный, булевый) Если
true, конкретные, расширенные или алиасированные индексы игнорируются при заморозке. По умолчаниюtrue.[7.16.0] Устарело в версии 7.16.0.
-
include_named_queries_score - (Необязательный, булевый) Если
true, включает вклад оценки от именованных запросов. Эта функция повторно выполняет каждый именованный запрос на каждом попадании в ответе поиска. Обычно это добавляет небольшую нагрузку на запрос. Однако использование вычислительно дорогостоящих именованных запросов на большом количестве попаданий может добавить значительную нагрузку. По умолчаниюfalse. -
ignore_unavailable - (Необязательный, булевый) Если
false, запрос возвращает ошибку, если он направлен на отсутствующий или закрытый индекс. По умолчаниюfalse. -
lenient -
(Необязательный, булевый) Если
true, ошибки запроса, основанные на формате (например, предоставление текста численному полю) в строке запроса будут проигнорированы. По умолчаниюfalse.Этот параметр может быть использован только при указании параметра строки запроса
q. -
max_concurrent_shard_requests - (Необязательный, целое число) Определяет количество одновременных запросов к фрагментам на узел, которые выполняет этот поиск. Это значение следует использовать для ограничения влияния поиска на кластер, чтобы ограничить количество одновременных запросов к фрагментам. По умолчанию
5. -
pre_filter_shard_size -
(Необязательный, целое число) Определяет порог, который навязывает предварительный запрос для предварительной фильтрации фрагментов поиска на основе переписывания запроса, если количество фрагментов, на которые распространяется запрос поиска, превышает порог. Этот предварительный запрос может значительно ограничить количество фрагментов, если, например, фрагмент не может сопоставить ни один документ на основе его метода переписывания, то есть если обязательны фильтры дат для соответствия, но границы фрагмента и запрос не пересекаются. Если не указано, фаза предварительной фильтрации выполняется, если выполняется любое из этих условий:
- Запрос направлен более чем на
128фрагментов. - Запрос направлен на один или несколько только для чтения индексов.
- Первичная сортировка запроса направлена на индексированное поле.
- Запрос направлен более чем на
-
preference -
(Необязательный, строка) Узлы и фрагменты, используемые для поиска. По умолчанию Elasticsearch выбирает подходящие узлы и фрагменты с помощью адаптивной выборки реплик, учитывая осведомленность о распределении фрагментов.
Допустимые значения для
preference-
_only_local - Выполнить поиск только на фрагментах на локальном узле.
-
_local - Если возможно, выполнить поиск на фрагментах на локальном узле. Если нет, выбрать фрагменты с использованием стандартного метода.
-
_only_nodes:<node-id>,<node-id> - Выполнить поиск только на указанных узлах. Если подходящие фрагменты существуют на более чем одном выбранном узле, использовать фрагменты на этих узлах с использованием стандартного метода. Если ни один из указанных узлов недоступен, выбрать фрагменты с любого доступного узла с использованием стандартного метода.
-
_prefer_nodes:<node-id>,<node-id> - Если возможно, выполнить поиск на указанных узлах. Если нет, выбрать фрагменты с использованием стандартного метода.
-
_shards:<shard>,<shard> - Выполнить поиск только на указанных фрагментах. Вы можете объединить это значение с другими значениями
preference. Однако значение_shardsдолжно стоять первым. Например:_shards:2,3|_local. -
<custom-string> - Любая строка, которая не начинается с
_. Если состояние кластера и выбранные фрагменты не изменяются, запросы с использованием одного и того же значения<custom-string>будут маршрутизироваться на те же фрагменты в том же порядке.
-
-
q -
(Необязательно, строка) Запрос в синтаксисе Lucene.
Вы можете использовать параметр
qдля поиска по параметрам запроса. Поиск по параметрам запроса не поддерживает полный Query DSL Elasticsearch, но удобен для тестирования.Параметр
qпереопределяет параметрqueryв теле запроса. Если оба параметра указаны, документы, соответствующие параметру тела запросаquery, не возвращаются. -
request_cache - (Необязательно, логическое значение) Если
true, кеширование результатов поиска включено для запросов, гдеsizeравно0. См. Кэш запросов фрагментов. По умолчанию используется настройка уровня индекса. -
rest_total_hits_as_int - (Необязательно, логическое значение) Указывает, должно ли поле hits.total отображаться как целое число или объект в ответе поиска REST. По умолчанию
false. -
routing - (Необязательно, строка) Настраиваемое значение, используемое для маршрутизации операций на определенный фрагмент.
-
scroll -
(Необязательно, значение времени) Период хранения контекста поиска для прокрутки. См. Прокрутка результатов поиска.
По умолчанию это значение не может превышать
1d(24 часа). Вы можете изменить этот предел, используя настройку кластераsearch.max_keep_alive.
-
search_type -
(Необязательно, строка) Способ вычисления распределённых частот терминов для рейтинга релевантности.
Допустимые значения для
search_type-
query_then_fetch - (По умолчанию) Распределённые частоты терминов вычисляются локально для каждого фрагмента, выполняющего поиск. Рекомендуется для более быстрых поисков с потенциально менее точным рейтингом.
-
dfs_query_then_fetch - Распределённые частоты терминов вычисляются глобально, используя информацию, собранную со всех фрагментов, выполняющих поиск. Хотя этот вариант повышает точность рейтингов, он добавляет обмен данными с каждым фрагментом, что может привести к более медленным поискам.
-
-
seq_no_primary_term - (Необязательно, логическое значение) Если
true, возвращает порядковый номер и первичный термин последнего изменения каждого совпадения. См. Оптимистичный контроль одновременности.
-
size -
(Необязательно, целое число) Определяет количество совпадений для возврата. По умолчанию
10.По умолчанию невозможно перейти по страницам более чем 10 000 совпадений с помощью параметров
fromиsize. Чтобы перейти по страницам большего количества совпадений, используйте параметрsearch_after.
-
sort - (Необязательно, строка) Список значений вида <поле>:<направление>, разделённых запятыми.
-
_source -
(Необязательно) Указывает, какие поля _source возвращаются для соответствующих документов. Эти поля возвращаются в свойстве
hits._sourceответа поиска. По умолчаниюtrue. См. фильтрацию _source.Допустимые значения для
_source-
true - (Булево) Возвращается весь источник документа.
-
false - (Булево) Источник документа не возвращается.
-
<string> - (строка) Список полей источника для возврата, разделённых запятыми. Поддерживаются шаблоны с подстановкой символов (
*).
-
-
_source_excludes -
(Необязательно, строка) Список полей источника для исключения из ответа.
Также вы можете использовать этот параметр для исключения полей из подмножества, указанного в параметре запроса
_source_includes.Если параметр
_sourceравенfalse, этот параметр игнорируется. -
_source_includes -
(Необязательно, строка) Список полей источника для включения в ответ.
Если этот параметр указан, возвращаются только эти поля источника. Вы можете исключить поля из этого подмножества, используя параметр запроса
_source_excludes.Если параметр
_sourceравенfalse, этот параметр игнорируется. -
stats - (Необязательно, строка) Специфический
tagзапроса для ведения журнала и статистических целей. -
stored_fields -
(Необязательно, строка) Список сохраненных полей, разделённых запятыми, которые должны быть возвращены в составе совпадения. Если поля не указаны, сохраненные поля не включаются в ответ. См. Сохраненные поля.
Если это поле указано, параметр
_sourceпо умолчанию равенfalse. Вы можете передать_source: true, чтобы вернуть и поля источника, и сохранённые поля в ответе поиска. -
suggest_field - (Необязательно, строка) Указывает поле для использования в предложениях.
-
suggest_mode -
(Необязательно, строка) Указывает режим предложений. По умолчанию
missing. Доступные варианты:-
always -
missing -
popular
Этот параметр может быть использован только при указании параметров запроса
suggest_fieldиsuggest_text. -
-
suggest_size -
(Необязательно, целое число) Количество предложений для возврата.
Этот параметр может быть использован только при указании параметров запроса
suggest_fieldиsuggest_text. -
suggest_text -
(Необязательно, строка) Текст источника, для которого должны быть возвращены предложения.
Этот параметр может быть использован только при указании параметра запроса
suggest_field. -
terminate_after -
(Необязательно, целое число) Максимальное количество документов для сбора на каждом фрагменте. Если запрос достигает этого предела, Elasticsearch прерывает запрос. Elasticsearch собирает документы до сортировки.
Используйте с осторожностью. Elasticsearch применяет этот параметр к каждому фрагменту, обрабатывающему запрос. Когда это возможно, позвольте Elasticsearch автоматически производить раннее завершение. Избегайте указания этого параметра для запросов, которые нацелены на потоки данных с базовыми индексами по нескольким уровням.
По умолчанию
0, что не прерывает выполнение запроса. -
timeout - (Необязательно, единицы времени) Указывает период времени ожидания ответа от каждого фрагмента. Если ответ не получен до истечения времени ожидания, запрос завершается ошибкой. По умолчанию без таймаута.
-
track_scores - (Необязательно, логическое значение) Если
true, вычислять и возвращать баллы документов, даже если баллы не используются для сортировки. По умолчаниюfalse. -
track_total_hits -
(Необязательно, целое число или логическое значение) Количество совпадений, соответствующих запросу, для точного подсчёта. По умолчанию
10000.Если
true, точное количество совпадений возвращается с некоторыми потерями производительности. Еслиfalse, ответ не включает общее количество совпадений, соответствующих запросу. -
typed_keys - (Необязательно, логическое значение) Если
true, имена агрегаций и предложений предваряются соответствующими типами в ответе. По умолчаниюfalse. -
version - (Необязательно, логическое значение) Если
true, возвращает версию документа как часть совпадения. По умолчаниюfalse.
Тело запроса
-
docvalue_fields -
(Необязательный, массив строк и объектов) Массив шаблонов полей. Запрос возвращает значения для имён полей, соответствующих этим шаблонам, в свойстве
hits.fieldsответа.Вы можете указывать элементы в массиве как строку или объект. Смотрите Поля значений документа.
Свойства объектов
docvalue_fields-
field - (Обязательный, строка) Шаблон подстановки. Запрос возвращает значения документа для имён полей, соответствующих этому шаблону.
-
format -
(Необязательный, строка) Формат, в котором возвращаются значения документа.
Для полей даты вы можете указать формат даты формат даты
format. Для числовых полей вы можете указать шаблон DecimalFormat.Для других типов полей данных этот параметр не поддерживается.
-
-
fields -
(Необязательный, массив строк и объектов) Массив шаблонов полей. Запрос возвращает значения для имён полей, соответствующих этим шаблонам, в свойстве
hits.fieldsответа.Вы можете указывать элементы в массиве как строку или объект. Смотрите опцию
fields.Свойства объектов
fields-
field - (Обязательный, строка) Поле для возврата. Поддерживаются подстановки (
*). -
format -
(Необязательный, строка) Формат для полей даты и геопространственных полей. Другие типы полей данных не поддерживают этот параметр.
dateиdate_nanosполя принимают формат даты.geo_pointиgeo_shapeполя принимают:-
geojson(по умолчанию) - GeoJSON
-
wkt - Well Known Text
-
mvt(<spec>) -
Бинарная плитка Mapbox. API возвращает плитку в формате base64. У
<spec>формат<zoom>/<x>/<y>с двумя необязательными суффиксами:@<extent>и/или:<buffer>. Например,2/0/1или2/0/1@4096:5.mvtпараметры-
<zoom> - (Обязательный, целое число) Уровень масштабирования плитки. Принимает
0-29. -
<x> - (Обязательный, целое число) Координата X плитки.
-
<y> - (Обязательный, целое число) Координата Y плитки.
-
<extent> - (Необязательный, целое число) Размер стороны плитки в пикселях. Плитки квадратные с равными сторонами. По умолчанию
4096. -
<buffer> - (Необязательный, целое число) Размер буфера обрезки вне плитки в пикселях. Это позволяет избежать артефактов контура от геометрий, выходящих за пределы плитки. По умолчанию
5.
-
-
-
-
stored_fields -
(Необязательный, строка) Список сохраненных полей через запятую, которые нужно вернуть как часть совпадения. Если поля не указаны, сохраненные поля не включаются в ответ. Смотрите Сохраненные поля.
Если эта опция указана, параметр
_sourceпо умолчанию равенfalse. Вы можете передать_source: true, чтобы вернуть как исходные поля, так и сохраненные в ответе поиска.
-
explain - (Необязательный, Булево) Если
true, возвращает подробную информацию о вычислении оценки как часть совпадения. По умолчаниюfalse. -
from -
(Необязательный, целое число) Смещение начального документа. Должно быть неотрицательным и по умолчанию равно
0.По умолчанию вы не можете получить более 10 000 совпадений с использованием параметров
fromиsize. Чтобы получить больше совпадений, используйте параметрsearch_after. -
indices_boost -
(Необязательный, массив объектов) Усиливает
_scoreдокументов из указанных индексов.Свойства объектов
indices_boost-
<index>: <boost-value> -
(Обязательный, число с плавающей точкой)
<index>— имя индекса или псевдонима индекса. Поддерживаются выражения с подстановкой (*).<boost-value>— множитель, на который умножаются оценки.Значение усиления больше
1.0увеличивает оценку. Значение усиления между0и1.0уменьшает оценку.
-
-
knn -
(Необязательно, объект или массив объектов) Определяет запрос kNN для выполнения.
Свойства объекта
knn-
field - (Обязательно, строка) Название поля вектора для поиска. Должно быть полем
dense_vector, с включенной индексацией. -
filter - (Необязательно, объект Query DSL) Запрос для фильтрации документов, которые могут соответствовать. Поиск kNN вернёт лучшие
kдокументов, которые также соответствуют этому фильтру. Значение может быть одиночным запросом или списком запросов. Еслиfilterне указан, все документы допускаются к соответствию. -
k - (Необязательно, целое число) Количество ближайших соседей, которые нужно вернуть в качестве лучших результатов. Это значение должно быть меньше или равно
num_candidates. По умолчанию значениеsize. -
num_candidates - (Необязательно, целое число) Количество кандидатов ближайших соседей для рассмотрения на фрагмент. Должно быть больше
k, илиsize, еслиkопущено, и не может превышать 10 000. Elasticsearch собирает результатыnum_candidatesс каждого фрагмента, затем объединяет их, чтобы найти лучшиеkрезультаты. Увеличениеnum_candidates, как правило, улучшает точность конечных результатовk. По умолчаниюMath.min(1.5 * k, 10_000). -
query_vector - (Необязательно, массив чисел с плавающей запятой) Вектор запроса. Должен иметь то же количество измерений, что и поле вектора, по которому вы осуществляете поиск. Должен быть либо массивом чисел с плавающей запятой, либо шестнадцатеричным закодированным вектором байтов.
-
query_vector_builder - (Необязательно, объект) Конфигурационный объект, указывающий, как построить query_vector перед выполнением запроса. Вы должны предоставить
query_vector_builderилиquery_vector, но не оба. Обратитесь к Выполнение семантического поиска для получения дополнительной информации. -
similarity -
(Необязательно, число с плавающей запятой) Минимальная степень схожести, необходимая для того, чтобы документ считался совпадением. Значение схожести, вычисленное, относится к исходному
similarityиспользуемому. Не к рейтингу документа. Совпадающие документы затем оцениваются в соответствии сsimilarity, и указанныйboostприменяется.Параметр
similarity— это непосредственное вычисление схожести векторов.-
l2_norm: также известный как евклидовый, будет включать документы, где вектор находится внутриdims-мерной гиперсферы радиусомsimilarityс центром в точкеquery_vector. -
cosine,dot_productиmax_inner_product: Возвращаются только векторы, где косинусная схожесть или скалярное произведение не меньше указанногоsimilarity.
Подробнее здесь: Поиск kNN с ожидаемой схожестью
-
-
-
min_score - (Необязательно, число с плавающей запятой) Минимальный
_scoreдля сопоставления документов. Документы с более низким_scoreне включаются в результаты поиска.
-
pit -
(Необязательно, объект) Ограничивает поиск до момента времени (PIT). Если вы предоставляете
pit, вы не можете указать<target>в пути запроса.Свойства объекта
pit-
id - (Обязательно*, строка) Идентификатор PIT для поиска. Если вы предоставляете объект
pit, этот параметр обязателен. -
keep_alive - (Необязательно, значение времени) Период времени, используемый для продления срока действия PIT.
-
-
query - (Необязательно, объект запроса) Определяет определение поиска, используя Query DSL.
-
retriever - [preview] Эта функциональность находится на стадии технического предварительного просмотра и может быть изменена или удалена в будущих выпусках. Elastic будет работать над исправлением любых проблем, но функции технического предварительного просмотра не подпадают под SLA поддержки официальных функций GA. (Необязательно, объект retriever) Определяет высшего уровня ретривер, чтобы указать желаемый набор лучших документов вместо стандартного запроса или поиска knn.
-
runtime_mappings -
(Необязательно, объект объектов) Определяет одно или несколько полей runtime в запросе поиска. Эти поля имеют приоритет над сопоставленными полями с тем же именем.
Свойства объектов
runtime_mappings-
<field-name> -
(Обязательно, объект) Настройки для поля runtime. Ключ — имя поля.
Свойства
<field-name>-
type -
(Обязательно, строка) Тип поля, который может быть любым из следующих:
-
boolean -
composite -
date -
double -
geo_point -
ip -
keyword -
long -
lookup
-
-
script -
(Необязательно, строка) Painless скрипт, выполняемый во время запроса. Скрипт имеет доступ ко всему контексту документа, включая исходный
_sourceи любые сопоставленные поля, а также их значения.Этот скрипт должен включать
emitдля возврата вычисленных значений. Например:"script": "emit(doc['@timestamp'].value.dayOfWeekEnum.toString())"
-
-
-
seq_no_primary_term - (Необязательно, булево) Если
true, возвращает номер последовательности и первичный термин последнего изменения каждого совпадения. См. Оптимистический контроль конкуретности. -
size -
(Необязательно, целое число) Количество совпадений, которые нужно вернуть. Должно быть неотрицательным и по умолчанию равно
10.По умолчанию вы не можете просматривать более 10 000 совпадений, используя параметры
fromиsize. Чтобы просматривать больше совпадений, используйте параметрsearch_after.
-
_source -
(Необязательно) Указывает, какие исходные поля возвращаются для совпадающих документов. Эти поля возвращаются в свойстве
hits._sourceответа поиска. По умолчаниюtrue. См. фильтрацию исходных данных.Допустимые значения для
_source-
true - (Булево) Возвращается весь исходный документ.
-
false - (Булево) Исходный документ не возвращается.
-
<wildcard_pattern> - (строка или массив строк) Шаблон с подстановкой (
*) или массив шаблонов, содержащих исходные поля для возврата. -
<object> -
(объект) Объект, содержащий список исходных полей для включения или исключения.
Свойства для
<object>-
excludes -
(строка или массив строк) Шаблон с подстановкой (
*) или массив шаблонов, содержащих исходные поля для исключения из ответа.Вы также можете использовать это свойство для исключения полей из подмножества, указанного в свойстве
includes. -
includes -
(строка или массив строк) Шаблон с подстановкой (
*) или массив шаблонов, содержащих исходные поля для возврата.Если это свойство указано, возвращаются только эти исходные поля. Вы можете исключить поля из этого подмножества, используя свойство
excludes.
-
-
-
stats - (Необязательно, массив строк) Группы статистики, которые необходимо связать с поиском. Каждая группа поддерживает агрегацию статистики для связанных поисков. Эти статистические данные можно получить с помощью API статистики индексов.
-
terminate_after -
(Необязательно, целое число) Максимальное количество документов для сбора для каждого фрагмента. Если запрос достигнет этого предела, Elasticsearch прервет его выполнение досрочно. Elasticsearch собирает документы до сортировки.
Используйте с осторожностью. Elasticsearch применяет этот параметр к каждому фрагменту, обрабатывающему запрос. Если возможно, позвольте Elasticsearch выполнять досрочное завершение автоматически. Избегайте указания этого параметра для запросов, которые направлены на потоки данных с базовыми индексами по нескольким уровням данных.
По умолчанию
0, что не приводит к досрочному прерыванию выполнения запроса. -
timeout - (Необязательно, единицы измерения времени) Указывает период ожидания ответа от каждого фрагмента. Если ответ не получен до истечения времени ожидания, запрос завершается ошибкой. По умолчанию таймаут не установлен.
-
version - (Необязательно, Булево) Если
true, возвращает версию документа как часть совпадения. По умолчаниюfalse.
Тело ответа
-
_scroll_id -
(строка) Идентификатор поиска и его контекста поиска.
Вы можете использовать этот идентификатор прокрутки с API прокрутки, чтобы получить следующую партию результатов поиска для запроса. См. Результаты поиска с прокруткой.
Этот параметр возвращается только в том случае, если в запросе указан параметр
scroll.
-
took -
(целое число) Миллисекунды, потребовавшиеся Elasticsearch для выполнения запроса.
Это значение рассчитывается путем измерения времени, прошедшего между получением запроса на узле координации и моментом, когда узел координации готов отправить ответ.
Время выполнения включает:
- Время связи между узлом координации и узлами данных
- Время, которое запрос тратит в
searchпуле потоков, в очереди на выполнение - Время фактического выполнения
Время выполнения не включает:
- Время, необходимое для отправки запроса в Elasticsearch
- Время, необходимое для сериализации JSON-ответа
- Время, необходимое для отправки ответа клиенту
-
timed_out - (Булево) Если
true, запрос истек по времени до завершения; возвращенные результаты могут быть частичными или пустыми.
-
_shards -
(объект) Содержит количество фрагментов, используемых для запроса.
Свойства
_shards-
total - (целое число) Общее количество фрагментов, требующих запроса, включая неназначенные фрагменты.
-
successful - (целое число) Количество фрагментов, успешно выполнивших запрос.
-
skipped - (целое число) Количество фрагментов, пропустивших запрос, потому что легкая проверка помогла понять, что документы не могут соответствовать этому фрагменту. Это обычно происходит, когда запрос поиска включает фильтр диапазона, а фрагмент содержит только значения, выпадающие из этого диапазона.
-
failed - (целое число) Количество фрагментов, не выполнивших запрос. Обратите внимание, что фрагменты, которые не назначены, не считаются ни успешными, ни неудачными. Поэтому наличие
failed+successfulменьше, чемtotal, указывает на то, что некоторые фрагменты не были назначены.
-
-
hits -
(объект) Содержит возвращенные документы и метаданные.
Свойства
hits-
total -
(объект) Метаданные о количестве соответствующих документов.
Свойства
total-
value - (целое число) Общее количество соответствующих документов.
-
relation -
(строка) Указывает, является ли количество соответствующих документов в параметре
valueточным или нижней границей.Значения
relation:-
eq - Точное
-
gte - Нижняя граница
-
-
-
max_score -
(вещественное число) Наибольший возвращенный балл документа
_score.Это значение
nullдля запросов, которые не сортируют по_score.
-
hits -
(массив объектов) Массив возвращенных объектов документов.
Свойства объектов
hits-
_index - (строка) Название индекса, содержащего возвращенный документ.
-
_id - (строка) Уникальный идентификатор возвращенного документа. Этот идентификатор уникален только в рамках возвращенного индекса.
-
_score - (вещественное число с плавающей точкой) Положительное 32-битовое число с плавающей точкой, используемое для определения релевантности возвращенного документа.
-
_source -
(объект) Исходное JSON-тело, переданное для документа во время индексации.
Вы можете использовать параметр
_source, чтобы исключить это свойство из ответа, или указать, какие поля источника нужно вернуть. -
fields -
(объект) Содержит значения полей для документов. Эти поля должны быть указаны в запросе с использованием одного или нескольких следующих параметров запроса:
Это свойство возвращается только в том случае, если один или несколько из этих параметров заданы.
Свойства
fields-
<field> - (массив) Ключ — имя поля. Значение — значение для поля.
-
-
-
Примеры
resp = client.search(
index="my-index-000001",
from_="40",
size="20",
query={
"term": {
"user.id": "kimchy"
}
},
)
print(resp) response = client.search(
index: 'my-index-000001',
from: 40,
size: 20,
body: {
query: {
term: {
'user.id' => 'kimchy'
}
}
}
)
puts response const response = await client.search({
index: "my-index-000001",
from: 40,
size: 20,
query: {
term: {
"user.id": "kimchy",
},
},
});
console.log(response); GET /my-index-000001/_search?from=40&size=20
{
"query": {
"term": {
"user.id": "kimchy"
}
}
} API возвращает следующий ответ:
{
"took": 5,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 20,
"relation": "eq"
},
"max_score": 1.3862942,
"hits": [
{
"_index": "my-index-000001",
"_id": "0",
"_score": 1.3862942,
"_source": {
"@timestamp": "2099-11-15T14:12:12",
"http": {
"request": {
"method": "get"
},
"response": {
"status_code": 200,
"bytes": 1070000
},
"version": "1.1"
},
"source": {
"ip": "127.0.0.1"
},
"message": "GET /search HTTP/1.1 200 1070000",
"user": {
"id": "kimchy"
}
}
},
...
]
}
}
© 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/8.17/search-search.html