Учебники

Elasticsearch — API поиска

Этот 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 запроса в теле запроса, и есть много примеров, уже приведенных в предыдущих главах, таких как —