Русклимат: Elasticsearch IN

Справочная информация
Предназначение API

Данная спецификация описывает методы API системы полнотекстового поиска Elastic Search.

Подробнее: https://www.notion.so/handh/5795ba305a9a4d969562727148f8d65b?pvs=4

Системы Elastic Search сама автоматически генерирует endpoint-ы в зависимости от создаваемых в нем индексов. Структура ответов методов зависит от данных, хранимых в Elsatic Search.

Подробнее:

API Поиска Elastic Search - https://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html

Подробнее о данных, которые хранятся в базе данных Elastic Search - https://www.notion.so/handh/ElasticSearch-f71a153597194e2d8ec7804ecb1b5f90?pvs=4.

Поиск тегов по поисковому запросу
GET /tags/_search

Метод предназначен для поиска связок тегов и категорий по поисковому запросу. Подробнее о методе поиска - https://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html

В качестве query используется Short request - https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query.html

Важно Нижеуказанные параметры могут передавться как в параметрах, так и в теле запроса. Если одинаковые свойства переданы в параметрах и в теле запроса - при настройке поиска предпочтение отдается свойствам, указанным в параметрах запроса.

Ошибки, возращаемые на этот запрос совпадают с основными кодами ошибок HHTP.

Request parameters

allow_no_indices
boolean optional

Флаг возврата результата запроса без ошибки, если один из индексов в запросе не найден или является закрытым.

Default:
true
allow_partial_search_results
boolean optional

Флаг возврата частичных результатов без ошибки, если часть шардов не вернула ответ.

Default:
true
analyzer
string optional

Анализатор, используемый для строки запроса. Этот параметр можно использовать только в том случае, если указан параметр строки запроса q.

analyze_wildcard
boolean optional

Флаг анализа поискового запроса с метасимволами и префиксами. Этот параметр можно использовать только в том случае, если указан параметр строки запроса q.

batched_reduce_size
integer optional

Количество записей, на которое необходимо сократить рузультаты поиска на координирующем узле при выполнении поиска по множеству шардов. Это значение следует использовать в качестве механизма защиты для уменьшения затрат памяти на каждый запрос поиска, если потенциальное количество шардов в запросе может быть большим.

Default:
512
ccs_minimize_roundtrips
boolean optional

Флаг минимизаций соединений между координирующим узлом и удаленными кластерами при выполнении запросов межкластерного поиска.

Default:
true
default_operator
string optional

Оператор для поиска по строке запроса, используемый по умолчанию. Этот параметр можно использовать только в том случае, если указан параметр строки запроса q.

Enumeration:
AND

И

OR

Или

Default:
OR
df
string optional

Поле, которое будет использоваться по умолчанию, если в строке запроса не указан префикс поля. Этот параметр можно использовать только в том случае, если указан параметр строки запроса q.

docvalue_fields
string optional

Список полей, разделенные запятыми, которые должны вернуться в ответе в виде полей документа индекса. Подробнее - https://www.elastic.co/guide/en/elasticsearch/reference/current/search-fields.html#docvalue-fields

expand_wildcards
string optional

Тип индекса, которому может соответствовать поисковой запрос с метасимволами. Поддерживает значения, разделенные запятыми. Если запрос нацелен на потоки данных, этот аргумент определяет, соответствует ли поисковой запрос с метасимволами скрытым потокам данных.

Enumeration:
open

Подходят открытые потоки данных и открытые индексы

all

Подходят любые потоки данных и индексы, включая скрытые

hidden

Подходят скрытые потоки данных и скрытые индексы

none

Поисковой запрос с метасимволами не принимается

closed

Подходят закрытые потоки данных и закрытые индексы

Default:
open
explain
boolean optional

Флаг возврата подробной информации о вычислении оценки релевантности в найденном документе.

Default:
false
from
integer optional

Позиция смещения

Min: 0
Max: 10,000
Default:
0
ignore_throttled
boolean optional

Флаг исключения из результатов запроса конкретных, расширенных наименований или псевдонимов “замороженных” индексов.

Параметр не используется с версии 7.16, так как с этой версии исключены замороженные индексы.

Default:
true
include_named_queries_score
string optional
ignore_unavailable
boolean optional

Флаг возврата результата запроса без ошибки, если он нацелен на отсутствующий или закрытый индекс.

Default:
false
lenient
boolean optional

Флаг игнорирование ошибки при несоотвествии типа данных в запросе. К примеру, при попытке запросить числовое поле с помощью текстовой строки запроса.

Этот параметр можно использовать только в том случае, если указан параметр строки запроса q.

Default:
false
max_concurrent_shard_requests
integer optional

Количество одновременных запросов к шардам узла.

Это значение следует использовать для ограничения влияния поиска на кластер, чтобы ограничить количество одновременных запросов к шардам.

Default:
5
pre_filter_shard_size
integer optional

Параметр, определяющий пороговое значение количества шардов, на которые распространяется поисковый запрос. При превышении порогового значения будет выполняться предварительная фильтрации шардов, на которых производится поиск.

Например, если применяется фильтр диапазона дат, то все индексы которые не содержат документы в этом диапазоне дат, будут отфильтрованы.

Если значение не указано, этап предварительной фильтрации будет выполняться, если выполняется любое из условий ниже:

  • Запрос нацелен на более чем 128 шардов.

  • Запрос нацелен на один или несколько индексов, доступных только для чтения.

  • Основная сортировка запроса нацелена на индексированное поле.

preference
string optional

Параметр, определяющий узлы и шарды, которые будут использованы для поиска.

По умолчанию Elasticsearch выбирает подходящие узлы и шарды на основе внутренних алгоритмов.

Enumeration:
_only_local

Выполняет поиск только на локальном узле

_local

Если есть возможность, поиск производится по шардам на локальном узле. Если нет - поиск производится по шардам, определенным по умолчанию.

_only_nodes:<node-id>,<node-id>

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

_prefer_nodes:<node-id>,<node-id>

Если есть возможность, поиск производится по указанным идентификаторам узлов. Если нет - поиск производится по шардам, определенным по умолчанию.

_shards:<shard>,<shard>

Выполняет поиск только по указанным шардам. Можно комбинировать это значение с другими значениями предпочтений, в этом случае значение _shards должно быть первым. Например: _shards:2,3|_local.

<custom-string>

Любая строка, которая не начинается с _. Если состояние кластера и выбранные шарды не изменяются, поиск производится с использованием того же значения <custom-string> и направляется к тем же шардам в том же порядке. ??

q
string optional

Поисковый запрос

request_cache
boolean optional

Флаг кэширование результатов поиска для результатов запросов размер которых равен 0. Подробнее - https://www.elastic.co/guide/en/elasticsearch/reference/current/shard-request-cache.html

По умолчанию будут использованы настройки кэширования, установленные при настройке индекса.

rest_total_hits_as_int
boolean optional

Флаг возврата свойства hits.total с типом integer. Если проставлено значение false - hits.total будет возвращено в виде object.

Default:
false
routing
string optional

Пользовательское значение, используемое для маршрутизации операций на определенный шард.

scroll
string optional

Формат time-value :https://www.elastic.co/guide/en/elasticsearch/reference/current/api-conventions.html#time-units

Период сохранения контекста поиска для прокрутки. По умолчанию это значение не может превышать 1 день (24 часа).

search_type
string optional

Параметр, определяющий как на основе частоты появления искомого термина в индексе расчитывается оценка релевантности документа.

Enumeration:
query_then_fetch

Рассчитывается локально для каждого шарда, на котором выполняется поиск. Вариант используется для более быстрого поиска с потенциально менее точной оценкой.

dfs_query_then_fetch

Рассчитывается глобально с использованием информации, собранной со всех шардов, на которых выполняется поиск. Параметр повышает точность оценки, но приводит к замедлению поиска.

seq_no_primary_term
string optional

Флаг возврата счетчика изменений основного шарда после послдней модификации документов, удовлетворяющих результатам запроса.

size
integer optional

Количетво запрашиваемых результатов

Default:
10
sort
string optional

Список пар <поле документа>:<направление сортировки>, разделенный запятыми.

_source
string optional

Указывает, какие исходные поля возвращаются для соответствующих документов. Эти поля возвращаются в свойстве hits._source ответа поиска.

Enumeration:
true

Возврат всех исходных полей документа

false

Не возвращать исходные поля документа

&lt;string>

Список разделенных запятыми исходных полей документа, которые нужно вернуть. В том числе поддерживает значения с метасимволами.

_source_excludes
string optional

Список исходных полей документов, разделенных запятыми, которые следует исключить из ответа.

Можно использовать этот параметр для исключения полей из подмножества, указанного в параметре запроса _source_includes.

Если параметр _source имеет значение false, этот параметр игнорируется.

_source_includes
string optional

Список исходных полей документов, разделенных запятыми, которые нужно включить в ответ.

Если этот параметр указан, возвращаются только эти исходные поля. Чтобы исключить поля из этого подмножества можно использовать параметр запроса _source_excludes.

Если параметр _source имеет значение false, этот параметр игнорируется.

stats
string optional

Специфический тег запроса для целей логирования и сбора статистических данных

stored_fields
string optional

Список разделенных запятыми сохраненных полей, которые должны быть возвращены в ответе в объектах документов, удовлетворяющих поисковому запросу. Если поля не указаны - они не будут возвращены. Подробнее - https://www.elastic.co/guide/en/elasticsearch/reference/current/search-fields.html#stored-fields

Если это поле указано, параметр _source по умолчанию будет иметь значение false. Можно передать в параметр _source значение true, чтобы вернуть как исходные, так и сохраненные поля в ответе поиска.

suggest_field
string optional

Указывает, какое поле использовать для предложений подсказок.

suggest_mode
string optional

Режим подсказок.

Этот параметр можно использовать только в том случае, если указаны параметры строки запроса suggest_field и suggest_text.

Enumeration:
always

Предлагать любые подходящие подсказки на основе искомого текста запроса.

popular

Предлагать только подсказки, которые встречаются в бОльшем количестве документов, чем искомый текст запроса.

missing

Предлагать только подсказки, которых нет в индексе.

Default:
missing
suggest_size
integer optional

Количество возвращаемых подсказок.

Этот параметр можно использовать только в том случае, если указаны параметры строки запроса suggest_field и suggest_text.

suggest_text
string optional

Текст, для которого должны быть возвращены подсказки.

Этот параметр можно использовать только в том случае, если указан параметр строки запроса suggest_field.

terminate_after
integer optional

Максимальное количество документов, которые необходимо получить c каждого шарда. Если запрос достигает этого предела Elasticsearch прерывает выполнение запроса досрочно.

Значение 0 определяет отсутствие максимального количества таких документов, запрос не прерывается досрочно.

Default:
0
timeout
string optional

Таймаут запроса в формате time units - https://www.elastic.co/guide/en/elasticsearch/reference/current/api-conventions.html#time-units, определяет количество времени ожидания ответа от каждого шарда.

track_scores
boolean optional

Флаг возврата оценки релевантности документа ( в том числе если оценка релевантности не используется для сортировки).

Подробнее - https://www.elastic.co/guide/en/elasticsearch/reference/8.11/search-aggregations.html#return-agg-type

Default:
false
track_total_hits
integer optional

Количество документов, удовлетворяющих поисковому запросу, после нахождения которых можно не производить подсчет найденных документов.

Может иметь тип boolean. Если значение установлено true - в ответе будет возвращено все количество документов, отвечающих условиям запроса, но это может снизить производительность запроса. Если установлено значение false - количество документов, отвечающих условиям запроса, возвращено не будет.

Подробнее - https://www.elastic.co/guide/en/elasticsearch/reference/current/search-your-data.html#track-total-hits

Default:
10000
typed_keys
boolean optional

Флаг возврата типа данных подсказок и агрегатов.

Default:
true
version
boolean optional

Флаг возврата версии документов в ответе на запрос.

Default:
false

Request body

Object
query
Object

Информация о поисковом запросе. Подробнее о типах поисковых запросов - https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html

fields
Array

Может быть массивом строк.

Object
field
string required

Возвращаемые поля. Принимает в том числе выражения с метасимволами. Поля date и date_nanos принимают формат даты. Поля geo_point и geo_shape

format
string

Формат, возвращаемых геопространственных полей и полей с типом дата. Подробнее о полях и форматах такого тип:

1.https://www.elastic.co/guide/en/elasticsearch/reference/current/date.html,

2.https://www.elastic.co/guide/en/elasticsearch/reference/current/date_nanos.html,

3.https://www.elastic.co/guide/en/elasticsearch/reference/current/geo-point.html,

4.https://www.elastic.co/guide/en/elasticsearch/reference/current/geo-shape.html

explain
boolean

Флаг возврата подробной информацию о вычислении оценки релевантности

Default:
false
indices_boost
Array

Параметр для указания повышения оценки релевантности в определенных индексах

Object
<index>
string

<boost-value> (float)

Пара ключ - значение, где ключ - название индекса, значение - коэффициент, на который умножаются баллы.

Значение повышения больше 1,0 увеличивает оценку. Значение повышения от 0 до 1,0 уменьшает оценку.

knn
Array

Параметр, определяющий KNN запрос, который нужно запустить. Подробнее про KNN - https://www.elastic.co/guide/en/elasticsearch/reference/current/knn-search.html#approximate-knn

Object
field
string required

Имя векторного поля для поиска.

filter
string

Тип - https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html. Запрос для фильтрации документов,

k
integer

Количество ближайших сосдених документов, которые будут возвращены в ответе.

num_candidates
integer

Количество кандидатов в ближайшие соседи, которые следует учитывать на каждый сегмент. Не может превышать 10 000.

query_vector
Array

Вектор запроса. Должно иметь то же количество измерений, что и векторное поле

number float
query_vector_builder
Object

Объект конфигурации, указывающий, как создать вектор запроса перед выполнением запроса. Передавать либо query_vector_builder либо query_vector.

similarity
number float

Минимальное сходство, необходимое для того, чтобы документ считался удовлетворяющий поиску.

min_score
number float

Минимальная оценка релевантности документа для выдачи в результатах поиска

pit
Object

Точка ограничения поиска во времени - https://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html

id
string required

Идентификатор PIT для поиска

keep_alive
string

Период времени, используемый для продления pit.

rank
Object

Определяет метод объединения и ранжирования наборов результатов на основе комбинации запроса, подпоиска и/или поиска KNN.

rrf
Object

Метод ранжирования. См. подробнее - https://www.elastic.co/guide/en/elasticsearch/reference/current/rrf.html

runtime_mappings
Object

Определяет одно или несколько полей времени выполнения в поисковом запросе.

field-name
Object

Конфигурация поля времени выполнения. Ключом является имя поля.

type
string

Тип поля

script
string

Cкрипт, выполняемый во время запроса.

sub_searches
Array

Поисковый подзапросы. Обрабатывается только при заполненном параметре rank и не обрабатывается в сочетании с элементом поисокового запроса верхнего уровня.

Object
query
string

Поисковый подзапрос

Responses

200 OK
Body
Object
_scroll_id
string

Идентификатор поиска и его контекст поиска. Этот параметр возвращается только в том случае, если в запросе указан параметр scroll.

took
integer

Время выполнения запроса в милисекундах

timed_out
boolean

Флаг врзврата ответа на запрос по истечению таймаута, ответ на запрос может быть пустым или неполным

_shards
Object

Информация о шардах, обработавших запрос

total
integer

Общее количество шардов, учавствующих в обработке запроса

successful
integer

Количество шардов, которые успешно обработали запрос

skipped
integer

Количество шардов, на которых была пропущено обработка запроса запрос, поскольку упрощенная проверка показала, что в этом шарде не могут быть найдены соответствующие документы.

failed
integer

Количество шардов, которые неуспешно обработали запрос

hits
Object

Метаинформация и информация о найденных документах

total
Object

Информация о количестве найденных документов

value
integer

Общее число найденных документов

relation
string

Указывает, является ли количество совпадающих документов в параметре value точным или оно указывает на границу количества документов, после которой счет прерван

Enumeration:
eq

точное количество документов

gte

граничное значение

max_score
number float nullable

Наивысшая оценка релевантности среди возвращенных документов.

Null, если ответ на запрос не сортируется по релевантности.

hits
Array

Информация о возвращенных документах. Если информация не найдена - возвращается пустой массив.

Object
_index
string

Название индекса, содержащего документ

_id
string

Уникальный идентификатор документа в пределах индекса

_score
number float

Оценка релевантности документа (положительное 32-битное число с плавающей точкой)

_source
Object

Исходное тело JSON передается документа

name
string

Название тега

categories
string

Категория, к которой привязан тег

fileds
Object

Значения полей документа

filed
Array

Содержит значения полей для документов. Это свойство возвращается только в том случае, если установлен один или несколько параметров (fields, docvalue_fields, script_fields, stored_fields).

Object
Название поля
string

Название поля

Значение поля
string

Значения поля

Поиск товаров по поисковому запросу
GET /products/_search

Метод предназначен для поиска товаров по названию, артикулу и штрихкоду. Подробнее о методе поиска - https://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html

В качестве query используется Short request - https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query.html

Важно Нижеуказанные параметры могут передавться как в параметрах, так и в теле запроса. Если одинаковые свойства переданы в параметрах и в теле запроса - при настройке поиска предпочтение отдается свойствам, указанным в параметрах запроса.

Ошибки, возращаемые на этот запрос совпадают с основными кодами ошибок HHTP.

Request parameters

allow_no_indices
boolean optional

Флаг возврата результата запроса без ошибки, если один из индексов в запросе не найден или является закрытым.

Default:
true
allow_partial_search_results
boolean optional

Флаг возврата частичных результатов без ошибки, если часть шардов не вернула ответ.

Default:
true
analyzer
string optional

Анализатор, используемый для строки запроса. Этот параметр можно использовать только в том случае, если указан параметр строки запроса q.

analyze_wildcard
boolean optional

Флаг анализа поискового запроса с метасимволами и префиксами. Этот параметр можно использовать только в том случае, если указан параметр строки запроса q.

batched_reduce_size
integer optional

Количество записей, на которое необходимо сократить рузультаты поиска на координирующем узле при выполнении поиска по множеству шардов. Это значение следует использовать в качестве механизма защиты для уменьшения затрат памяти на каждый запрос поиска, если потенциальное количество шардов в запросе может быть большим.

Default:
512
ccs_minimize_roundtrips
boolean optional

Флаг минимизаций соединений между координирующим узлом и удаленными кластерами при выполнении запросов межкластерного поиска.

Default:
true
default_operator
string optional

Оператор для поиска по строке запроса, используемый по умолчанию. Этот параметр можно использовать только в том случае, если указан параметр строки запроса q.

Enumeration:
AND

И

OR

Или

Default:
OR
df
string optional

Поле, которое будет использоваться по умолчанию, если в строке запроса не указан префикс поля. Этот параметр можно использовать только в том случае, если указан параметр строки запроса q.

docvalue_fields
string optional

Список полей, разделенные запятыми, которые должны вернуться в ответе в виде полей документа индекса. Подробнее - https://www.elastic.co/guide/en/elasticsearch/reference/current/search-fields.html#docvalue-fields

expand_wildcards
string optional

Тип индекса, которому может соответствовать поисковой запрос с метасимволами. Поддерживает значения, разделенные запятыми. Если запрос нацелен на потоки данных, этот аргумент определяет, соответствует ли поисковой запрос с метасимволами скрытым потокам данных.

Enumeration:
open

Подходят открытые потоки данных и открытые индексы

all

Подходят любые потоки данных и индексы, включая скрытые

hidden

Подходят скрытые потоки данных и скрытые индексы

none

Поисковой запрос с метасимволами не принимается

closed

Подходят закрытые потоки данных и закрытые индексы

Default:
open
explain
boolean optional

Флаг возврата подробной информации о вычислении оценки релевантности в найденном документе.

Default:
false
from
integer optional

Позиция смещения

Min: 0
Max: 10,000
Default:
0
ignore_throttled
boolean optional

Флаг исключения из результатов запроса конкретных, расширенных наименований или псевдонимов “замороженных” индексов.

Параметр не используется с версии 7.16, так как с этой версии исключены замороженные индексы.

Default:
true
include_named_queries_score
string optional
ignore_unavailable
boolean optional

Флаг возврата результата запроса без ошибки, если он нацелен на отсутствующий или закрытый индекс.

Default:
false
lenient
boolean optional

Флаг игнорирование ошибки при несоотвествии типа данных в запросе. К примеру, при попытке запросить числовое поле с помощью текстовой строки запроса.

Этот параметр можно использовать только в том случае, если указан параметр строки запроса q.

Default:
false
max_concurrent_shard_requests
integer optional

Количество одновременных запросов к шардам узла.

Это значение следует использовать для ограничения влияния поиска на кластер, чтобы ограничить количество одновременных запросов к шардам.

Default:
5
pre_filter_shard_size
integer optional

Параметр, определяющий пороговое значение количества шардов, на которые распространяется поисковый запрос. При превышении порогового значения будет выполняться предварительная фильтрации шардов, на которых производится поиск.

Например, если применяется фильтр диапазона дат, то все индексы которые не содержат документы в этом диапазоне дат, будут отфильтрованы.

Если значение не указано, этап предварительной фильтрации будет выполняться, если выполняется любое из условий ниже:

  • Запрос нацелен на более чем 128 шардов.

  • Запрос нацелен на один или несколько индексов, доступных только для чтения.

  • Основная сортировка запроса нацелена на индексированное поле.

preference
string optional

Параметр, определяющий узлы и шарды, которые будут использованы для поиска.

По умолчанию Elasticsearch выбирает подходящие узлы и шарды на основе внутренних алгоритмов.

Enumeration:
_only_local

Выполняет поиск только на локальном узле

_local

Если есть возможность, поиск производится по шардам на локальном узле. Если нет - поиск производится по шардам, определенным по умолчанию.

_only_nodes:&lt;node-id>,&lt;node-id>

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

_prefer_nodes:&lt;node-id>,&lt;node-id>

Если есть возможность, поиск производится по указанным идентификаторам узлов. Если нет - поиск производится по шардам, определенным по умолчанию.

_shards:&lt;shard>,&lt;shard>

Выполняет поиск только по указанным шардам. Можно комбинировать это значение с другими значениями предпочтений, в этом случае значение _shards должно быть первым. Например: _shards:2,3|_local.

&lt;custom-string>

Любая строка, которая не начинается с _. Если состояние кластера и выбранные шарды не изменяются, поиск производится с использованием того же значения <custom-string> и направляется к тем же шардам в том же порядке. ??

q
string optional

Поисковый запрос

request_cache
boolean optional

Флаг кэширование результатов поиска для результатов запросов размер которых равен 0. Подробнее - https://www.elastic.co/guide/en/elasticsearch/reference/current/shard-request-cache.html

По умолчанию будут использованы настройки кэширования, установленные при настройке индекса.

rest_total_hits_as_int
boolean optional

Флаг возврата свойства hits.total с типом integer. Если проставлено значение false - hits.total будет возвращено в виде object.

Default:
false
routing
string optional

Пользовательское значение, используемое для маршрутизации операций на определенный шард.

scroll
string optional

Формат time-value :https://www.elastic.co/guide/en/elasticsearch/reference/current/api-conventions.html#time-units

Период сохранения контекста поиска для прокрутки. По умолчанию это значение не может превышать 1 день (24 часа).

search_type
string optional

Параметр, определяющий как на основе частоты появления искомого термина в индексе расчитывается оценка релевантности документа.

Enumeration:
query_then_fetch

Рассчитывается локально для каждого шарда, на котором выполняется поиск. Вариант используется для более быстрого поиска с потенциально менее точной оценкой.

dfs_query_then_fetch

Рассчитывается глобально с использованием информации, собранной со всех шардов, на которых выполняется поиск. Параметр повышает точность оценки, но приводит к замедлению поиска.

seq_no_primary_term
string optional

Флаг возврата счетчика изменений основного шарда после послдней модификации документов, удовлетворяющих результатам запроса.

size
integer optional

Количетво запрашиваемых результатов

Default:
10
sort
string optional

Список пар <поле документа>:<направление сортировки>, разделенный запятыми.

_source
string optional

Указывает, какие исходные поля возвращаются для соответствующих документов. Эти поля возвращаются в свойстве hits._source ответа поиска.

Enumeration:
true

Возврат всех исходных полей документа

false

Не возвращать исходные поля документа

&lt;string>

Список разделенных запятыми исходных полей документа, которые нужно вернуть. В том числе поддерживает значения с метасимволами.

_source_excludes
string optional

Список исходных полей документов, разделенных запятыми, которые следует исключить из ответа.

Можно использовать этот параметр для исключения полей из подмножества, указанного в параметре запроса _source_includes.

Если параметр _source имеет значение false, этот параметр игнорируется.

_source_includes
string optional

Список исходных полей документов, разделенных запятыми, которые нужно включить в ответ.

Если этот параметр указан, возвращаются только эти исходные поля. Чтобы исключить поля из этого подмножества можно использовать параметр запроса _source_excludes.

Если параметр _source имеет значение false, этот параметр игнорируется.

stats
string optional

Специфический тег запроса для целей логирования и сбора статистических данных

stored_fields
string optional

Список разделенных запятыми сохраненных полей, которые должны быть возвращены в ответе в объектах документов, удовлетворяющих поисковому запросу. Если поля не указаны - они не будут возвращены. Подробнее - https://www.elastic.co/guide/en/elasticsearch/reference/current/search-fields.html#stored-fields

Если это поле указано, параметр _source по умолчанию будет иметь значение false. Можно передать в параметр _source значение true, чтобы вернуть как исходные, так и сохраненные поля в ответе поиска.

suggest_field
string optional

Указывает, какое поле использовать для предложений подсказок.

suggest_mode
string optional

Режим подсказок.

Этот параметр можно использовать только в том случае, если указаны параметры строки запроса suggest_field и suggest_text.

Enumeration:
always

Предлагать любые подходящие подсказки на основе искомого текста запроса.

popular

Предлагать только подсказки, которые встречаются в бОльшем количестве документов, чем искомый текст запроса.

missing

Предлагать только подсказки, которых нет в индексе.

Default:
missing
suggest_size
integer optional

Количество возвращаемых подсказок.

Этот параметр можно использовать только в том случае, если указаны параметры строки запроса suggest_field и suggest_text.

suggest_text
string optional

Текст, для которого должны быть возвращены подсказки.

Этот параметр можно использовать только в том случае, если указан параметр строки запроса suggest_field.

terminate_after
integer optional

Максимальное количество документов, которые необходимо получить c каждого шарда. Если запрос достигает этого предела Elasticsearch прерывает выполнение запроса досрочно.

Значение 0 определяет отсутствие максимального количества таких документов, запрос не прерывается досрочно.

Default:
0
timeout
string optional

Таймаут запроса в формате time units - https://www.elastic.co/guide/en/elasticsearch/reference/current/api-conventions.html#time-units, определяет количество времени ожидания ответа от каждого шарда.

track_scores
boolean optional

Флаг возврата оценки релевантности документа ( в том числе если оценка релевантности не используется для сортировки).

Подробнее - https://www.elastic.co/guide/en/elasticsearch/reference/8.11/search-aggregations.html#return-agg-type

Default:
false
track_total_hits
integer optional

Количество документов, удовлетворяющих поисковому запросу, после нахождения которых можно не производить подсчет найденных документов.

Может иметь тип boolean. Если значение установлено true - в ответе будет возвращено все количество документов, отвечающих условиям запроса, но это может снизить производительность запроса. Если установлено значение false - количество документов, отвечающих условиям запроса, возвращено не будет.

Подробнее - https://www.elastic.co/guide/en/elasticsearch/reference/current/search-your-data.html#track-total-hits

Default:
10000
typed_keys
boolean optional

Флаг возврата типа данных подсказок и агрегатов.

Default:
true
version
boolean optional

Флаг возврата версии документов в ответе на запрос.

Default:
false

Request body

Object
query
Object

Информация о поисковом запросе. Подробнее о типах поисковых запросов - https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html

В контексте системы используются запросы типа

  1. bool, которые позволют объединять несколько запросов логическими операторами (AND, OR, NOT).
  2. simple_query_string
  3. multi_match
fields
Array

Может быть массивом строк.

Object
field
string required

Возвращаемые поля. Принимает в том числе выражения с метасимволами. Поля date и date_nanos принимают формат даты. Поля geo_point и geo_shape

format
string

Формат, возвращаемых геопространственных полей и полей с типом дата. Подробнее о полях и форматах такого тип:

1.https://www.elastic.co/guide/en/elasticsearch/reference/current/date.html,

2.https://www.elastic.co/guide/en/elasticsearch/reference/current/date_nanos.html,

3.https://www.elastic.co/guide/en/elasticsearch/reference/current/geo-point.html,

4.https://www.elastic.co/guide/en/elasticsearch/reference/current/geo-shape.html

explain
boolean

Флаг возврата подробной информацию о вычислении оценки релевантности

Default:
false
indices_boost
Array

Параметр для указания повышения оценки релевантности в определенных индексах

Object
<index>
string

<boost-value> (float)

Пара ключ - значение, где ключ - название индекса, значение - коэффициент, на который умножаются баллы.

Значение повышения больше 1,0 увеличивает оценку. Значение повышения от 0 до 1,0 уменьшает оценку.

knn
Array

Параметр, определяющий KNN запрос, который нужно запустить. Подробнее про KNN - https://www.elastic.co/guide/en/elasticsearch/reference/current/knn-search.html#approximate-knn

Object
field
string required

Имя векторного поля для поиска.

filter
string

Тип - https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html. Запрос для фильтрации документов,

k
integer

Количество ближайших сосдених документов, которые будут возвращены в ответе.

num_candidates
integer

Количество кандидатов в ближайшие соседи, которые следует учитывать на каждый сегмент. Не может превышать 10 000.

query_vector
Array

Вектор запроса. Должно иметь то же количество измерений, что и векторное поле

number float
query_vector_builder
Object

Объект конфигурации, указывающий, как создать вектор запроса перед выполнением запроса. Передавать либо query_vector_builder либо query_vector.

similarity
number float

Минимальное сходство, необходимое для того, чтобы документ считался удовлетворяющий поиску.

min_score
number float

Минимальная оценка релевантности документа для выдачи в результатах поиска

pit
Object

Точка ограничения поиска во времени - https://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html

id
string required

Идентификатор PIT для поиска

keep_alive
string

Период времени, используемый для продления pit.

rank
Object

Определяет метод объединения и ранжирования наборов результатов на основе комбинации запроса, подпоиска и/или поиска KNN.

rrf
Object

Метод ранжирования. См. подробнее - https://www.elastic.co/guide/en/elasticsearch/reference/current/rrf.html

runtime_mappings
Object

Определяет одно или несколько полей времени выполнения в поисковом запросе.

field-name
Object

Конфигурация поля времени выполнения. Ключом является имя поля.

type
string

Тип поля

script
string

Cкрипт, выполняемый во время запроса.

sub_searches
Array

Поисковый подзапросы. Обрабатывается только при заполненном параметре rank и не обрабатывается в сочетании с элементом поисокового запроса верхнего уровня.

Object
query
string

Поисковый подзапрос

Responses

200 OK
Body
Object
_scroll_id
string

Идентификатор поиска и его контекст поиска. Этот параметр возвращается только в том случае, если в запросе указан параметр scroll.

took
integer

Время выполнения запроса в милисекундах

timed_out
boolean

Флаг врзврата ответа на запрос по истечению таймаута, ответ на запрос может быть пустым или неполным

_shards
Object

Информация о шардах, обработавших запрос

total
integer

Общее количество шардов, учавствующих в обработке запроса

successful
integer

Количество шардов, которые успешно обработали запрос

skipped
integer

Количество шардов, на которых была пропущено обработка запроса запрос, поскольку упрощенная проверка показала, что в этом шарде не могут быть найдены соответствующие документы.

failed
integer

Количество шардов, которые неуспешно обработали запрос

hits
Object

Метаинформация и информация о найденных документах

total
Object

Информация о количестве найденных документов

value
integer

Общее число найденных документов

relation
string

Указывает, является ли количество совпадающих документов в параметре value точным или оно указывает на границу количества документов, после которой счет прерван

Enumeration:
eq

точное количество документов

gte

граничное значение

max_score
number float nullable

Наивысшая оценка релевантности среди возвращенных документов.

Null, если ответ на запрос не сортируется по релевантности.

hits
Array

Информация о возвращенных документах. Если информация не найдена - возвращается пустой массив.

Object
_index
string

Название индекса, содержащего документ

_id
string

Уникальный идентификатор документа в пределах индекса

_score
number float

Оценка релевантности документа (положительное 32-битное число с плавающей точкой)

_source
Object

Исходное тело JSON передается документа

name
string

Название тега

categories
string

Категория, к которой привязан тег

fileds
Object

Значения полей документа

filed
Array

Содержит значения полей для документов. Это свойство возвращается только в том случае, если установлен один или несколько параметров (fields, docvalue_fields, script_fields, stored_fields).

Object
Название поля
string

Название поля

Значение поля
string

Значения поля

Сохранить в историю пользовательский поисковый запрос
PUT /search-history/_doc/{id}

Path variables

id
string required

Уникальный идентификатор записи поискового запроса в формате UUID4

Request headers

Accept
string required

application/json

Content-Type
string required

application/json

Request body

Object
search_query
string required

Поисковый запрос

created_at
string required

Дата создания поискового запроса

platform
string required

Вид платформы

Enumeration:
portal

B2B Портал

mobile

Мобильное приложение

user
Object required

Данные пользователя, совершившего поисковой запрос

guid
string required

Идентификатор контрагента (Полный ЛК)

guidRM
string nullable

Идентификатор пользователя ролевой модели (РМ)

guidLead
string nullable

Идентификатор ЛИДа (Неполный ЛК)

guidManager
string nullable

Идентификатор менеджера

Responses

200 OK
Получить историю поиска пользователя
GET /search-history/_search

Request parameters

user_guid
string required

Идентификатор пользователя

size
string optional

Количество выдаваемых результатов

Responses

200 OK
Body
Object
history
Object

История поиска

id
string

Идентификатор запроса

search_query
string

Поисковая строка

Получить список запросов пользователя для скрытия
GET /search-history/_search
Скрыть поисковый запрос пользователя
POST /search-history/_bulk

Сначала мы получаем список всех поисковых запросов пользователя, а затем вызываем данный метод для всех найденных запросов разом

Request body

Object
query
string required nullable

Поисковой запрос

user_guid
string required

Идентификатор пользователя

deleted_at
string required

Дата скрытия поискового запроса

update
string

Responses

200 OK
Body
Object
history
Array

История поиска

Object
id
string

Идентификатор запроса

search_query
string

Поисковая строка