/{db}/_design/{ddoc}/_search/{index}
Предупреждение
Для работы конечных точек поиска требуется запущенный плагин поиска, подключённый к каждому узлу кластера. Подробности см. в разделе Установка плагина поиска.
Добавлено в версии 3.0.
-
GET/{db}/_design/{ddoc}/_search/{index} -
Выполняет поисковый запрос к указанному индексу в заданном проектном документе.
- Параметры:
-
db – Имя базы данных
ddoc – Имя проектного документа
index – Имя поискового индекса
- Заголовки запроса:
-
-
Accept –
application/json
text/plain
-
- Параметры запроса:
-
bookmark (string) – Закладка, полученная в результате предыдущего поиска. Этот параметр позволяет постранично просматривать результаты. Если после закладки результатов больше нет, в ответе возвращается пустой массив rows и та же закладка, подтверждая, что список результатов закончился.
counts (json) – Массив имён строковых полей, для которых требуется подсчёт. Ответ содержит количество документов, соответствующих поисковому запросу, для каждого уникального значения этого поля. Для работы этого параметра необходимо включить фасетный поиск.
drilldown (json) – Это поле можно использовать несколько раз. Каждое использование задаёт пару из имени поля и значения. Поиск возвращает только документы, содержащие указанное значение в названном поле. От использования
"fieldname:value"в параметреqэтот вариант отличается только тем, что значения не анализируются. Для работы этого параметра необходимо включить фасетный поиск.group_field (string) – Поле, по которому группируются результаты поиска. :query number group_limit: Максимальное количество групп. Это поле можно использовать только в том случае, если задан
group_field.group_sort (json) – Это поле задаёт порядок групп в поиске с использованием
group_field. По умолчанию используется сортировка по релевантности.highlight_fields (json) – Указывает, какие поля нужно подсветить. Если этот параметр задан, объект результата содержит поле
highlightsс записью для каждого указанного поля.highlight_pre_tag (string) – Строка, вставляемая перед подсвеченным словом в выводе подсветки.
highlight_post_tag (string) – Строка, вставляемая после подсвеченного слова в выводе подсветки.
highlight_number (number) – Количество фрагментов, возвращаемых в результатах подсветки. Если поисковый термин встречается реже, чем заданное количество фрагментов, возвращаются более длинные фрагменты.
highlight_size (number) – Количество символов в каждом фрагменте подсветки.
include_docs (boolean) – Включить в ответ полное содержимое документов.
include_fields (json) – JSON-массив имён полей, включаемых в результаты поиска. Для включения поля в результаты его необходимо индексировать с параметром store:true.
limit (number) – Ограничить количество возвращаемых документов указанным числом. При группированном поиске этот параметр ограничивает количество документов в каждой группе.
q (string) – Псевдоним для
query.query (string) – Обязательный параметр. Строка запроса Lucene.
ranges (json) – Это поле задаёт диапазоны для числовых полей поиска с фасетами. Значение представляет собой объект JSON, в котором имена полей — это числовые поля поиска с фасетами, а значения полей — объекты JSON. Имена полей объектов JSON задают названия диапазонов. Значения — строки, описывающие диапазон, например «[0 TO 10]».
sort (json) – Задаёт порядок сортировки результатов. При группированном поиске (когда используется
group_field) этот параметр задаёт порядок сортировки внутри группы. По умолчанию используется сортировка по релевантности. Строка JSON вида"fieldname<type>"или-fieldname<type>для сортировки по убыванию, где fieldname — имя строкового или числового поля, аtype— число, строка или JSON-массив строк. Частьtypeявляется необязательной; по умолчанию используется number. Примеры:"foo","-foo","bar<string>","-foo<number>"и ["-foo<number>","bar<string>"]. Строковые поля, используемые для сортировки, не должны быть анализируемыми. Поля, используемые для сортировки, должны индексироваться тем же индексатором, который используется для поискового запроса.stale (string) – Задайте значение
ok, чтобы разрешить использование устаревшего индекса.
- Заголовки ответа:
-
-
application/json
text/plain; charset=utf-8
ETag – Подпись ответа
Transfer-Encoding –
chunked
-
- Объект JSON ответа:
-
rows (array) – Массив объектов строк представления. По умолчанию возвращаются только идентификатор и ревизия документа.
total_rows (number) – Количество документов в базе данных/представлении.
bookmark (string) – Непрозрачный идентификатор для постраничной навигации.
- Коды состояния:
-
200 OK – Запрос успешно выполнен
400 Bad Request – Недопустимый запрос
401 Unauthorized – Требуется разрешение на чтение
403 Forbidden – Недостаточно разрешений / Слишком много запросов с недействительными учётными данными
404 Not Found – Указанная база данных, проектный документ или представление не найдены
Примечание
Прежде чем использовать параметры counts, drilldown и ranges, необходимо включить фасетный поиск.
Примечание
Фасетный поиск и группировка не поддерживаются для поиска по разделам, поэтому в таких запросах не следует использовать следующие параметры запроса: counts, drilldown, ranges, group_field, group_limit, group_sort``.
Примечание
Не используйте одновременно параметры bookmark и stale. Эти параметры ограничивают выбор реплик сегментов, используемых для ответа. Их совместное использование может привести к проблемам при обращении к медленным или недоступным репликам.
См. также
Дополнительную информацию о работе поиска см. в руководстве пользователя по поиску.
/{db}/_design/{ddoc}/_search_info/{index}
Предупреждение
Для работы конечных точек поиска требуется запущенный плагин поиска, подключённый к каждому узлу кластера. Подробности см. в разделе Установка плагина поиска.
Добавлено в версии 3.0.
-
GET/{db}/_design/{ddoc}/_search_info/{index} -
- Параметры:
-
db – Имя базы данных
ddoc – Имя проектного документа
index – Имя поискового индекса
- Коды состояния:
-
200 OK – Запрос успешно выполнен
400 Bad Request – Тело запроса некорректно (неверно сформировано или отсутствует одно из обязательных полей)
401 Unauthorized – Несанкционированный запрос к защищённому API
403 Forbidden – Недостаточно разрешений / Слишком много запросов с недействительными учётными данными
500 Internal Server Error – Произошла ошибка сервера (или ошибка другого типа)
Запрос:
GET /recipes/_design/cookbook/_search_info/ingredients HTTP/1.1 Accept: application/json Host: localhost:5984
Ответ:
HTTP/1.1 200 OK
Content-Type: application/json
{
"name": "_design/cookbook/ingredients",
"search_index": {
"pending_seq": 7125496,
"doc_del_count": 129180,
"doc_count": 1066173,
"disk_size": 728305827,
"committed_seq": 7125496
}
}
Copyright © 2025 The Apache Software Foundation — Licensed under the Apache License 2.0
https://docs.couchdb.org/en/3.5.1/api/ddoc/search.html