Этот API используется для поиска контента в Elasticsearch. Пользователь может выполнить поиск, отправив запрос на получение со строкой запроса в качестве параметра, или запрос в теле сообщения после запроса. В основном все поисковые APIS являются мультииндексными, мультитипными.
Multi-Index
Elasticsearch позволяет нам искать документы, присутствующие во всех индексах или в некоторых конкретных индексах. Например, если нам нужно найти все документы с именем, которое содержит центральный.
GET http://localhost:9200/_search?q = name:central
отклик
{ "took":78, "timed_out":false, "_shards":{"total":10, "successful":10, "failed":0}, "hits":{ "total":1, "max_score":0.19178301, "hits":[{ "_index":"schools", "_type":"school", "_id":"1", "_score":0.19178301, "_source":{ "name":"Central School", "description":"CBSE Affiliation", "street":"Nagan", "city":"paprola", "state":"HP", "zip":"176115", "location":[31.8955385, 76.8380405], "fees":2000, "tags":["Senior Secondary", "beautiful campus"], "rating":"3.5" } }] } }
Или, мы можем искать то же самое в школах, индексы schools_gov —
GET http://localhost:9200/schools,schools_gov/_search?q = name:model
Multi-Type
Мы также можем искать все документы в индексе по всем типам или в некотором указанном типе. Например,
Get http://localhost:9200/schools/_search?q = tags:sports
отклик
{ "took":16, "timed_out":false, "_shards":{"total":5, "successful":5, "failed":0}, "hits":{ "total":1, "max_score":0.5, "hits":[{ "_index":"schools", "_type":"school", "_id":"2", "_score":0.5, "_source":{ "name":"Saint Paul School", "description":"ICSE Afiliation", "street":"Dawarka", "city":"Delhi", "state":"Delhi", "zip":"110075", "location":[28.5733056, 77.0122136], "fees":5000, "tags":["Good Faculty", "Great Sports"], "rating":"4.5" } }] } }
URI Поиск
Многие параметры могут быть переданы в операции поиска с использованием универсального идентификатора ресурса —
Sr.No | Параметр и описание |
---|---|
1 |
Q Этот параметр используется для указания строки запроса. |
2 |
снисходительный Ошибки на основе формата можно игнорировать, просто установив для этого параметра значение true. Это ложь по умолчанию. |
3 |
поля Этот параметр помогает нам получить ответ из выборочных полей. |
4 |
Сортировать С помощью этого параметра мы можем получить отсортированный результат, возможные значения этого параметра: fieldName, fieldName: asc / fieldname: desc |
5 |
Тайм — аут Мы можем ограничить время поиска с помощью этого параметра, и ответ содержит только попадания в указанное время. По умолчанию таймаут отсутствует. |
6 |
terminate_after Мы можем ограничить ответ указанным количеством документов для каждого сегмента, при достижении которого запрос будет завершен досрочно. По умолчанию нет terminate_after. |
7 |
от Начиная с индекса хитов для возврата. По умолчанию 0. |
8 |
размер Обозначает количество попаданий для возврата. По умолчанию 10. |
Q
Этот параметр используется для указания строки запроса.
снисходительный
Ошибки на основе формата можно игнорировать, просто установив для этого параметра значение true. Это ложь по умолчанию.
поля
Этот параметр помогает нам получить ответ из выборочных полей.
Сортировать
С помощью этого параметра мы можем получить отсортированный результат, возможные значения этого параметра: fieldName, fieldName: asc / fieldname: desc
Тайм — аут
Мы можем ограничить время поиска с помощью этого параметра, и ответ содержит только попадания в указанное время. По умолчанию таймаут отсутствует.
terminate_after
Мы можем ограничить ответ указанным количеством документов для каждого сегмента, при достижении которого запрос будет завершен досрочно. По умолчанию нет terminate_after.
от
Начиная с индекса хитов для возврата. По умолчанию 0.
размер
Обозначает количество попаданий для возврата. По умолчанию 10.
Запрос Тела Поиск
Мы также можем указать запрос, используя DSL запроса в теле запроса, и есть много примеров, уже приведенных в предыдущих главах, таких как —