English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Этот API используется для поиска контента в Elasticsearch. Пользователь может выполнить поиск, отправив GET-запрос с строкой запроса в качестве параметра, или можно发布 запрос в теле сообщения. Основная функция поиска API - это много индексов и много типов.
Elasticsearch позволяет нам искать все индексы или некоторые специфические индексы, содержащие документы. Например, если нам нужно найти все документы, содержащие имя с "central", можно выполнить следующую операцию:
GET /_all/_search?q=city:paprola
При выполнении вышеуказанного кода мы получили следующий ответ-
{ "took": 33, "timed_out": false, "_shards": { "total": 7, "successful": 7, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 1, "relation": "eq" }, "max_score": 0.9808292, "hits": [ { "_index": "schools", "_type": "school", "_id": "5", "_score": 0.9808292, "_source": { "name": "Central School", "description": "CBSE Affiliation", "street": "Nagan", "city": "paprola", "state": "HP", "zip": "176115", "location": [ 31.8955385, 76.8380405 ] "fees": 2200, "tags": [ "Senior Secondary", "beautiful campus" ] "rating": "3.3" } } ] } }
Многие параметры могут быть переданы в операцию поиска с помощью Uniform Resource Identifier-
Номер | Параметры и описание |
---|---|
1 | Q Этот параметр используется дляspecification строкового запроса |
2 | lenient Этот параметр используется дляspecification строкового запроса. Если этот параметр установлен в true, можно игнорировать ошибки на основе Formatbased. По умолчанию это false. |
3 | fields Этот параметр используется дляspecification строкового запроса |
4 | sort Мы можем получить результат сортировки с помощью этого параметра, возможные значения - fieldName, fieldName:asc/ fieldName:desc |
5 | timeout Мы можем ограничить время поиска с помощью этого параметра, и ответ будет содержать только вхождения в указанное время. По умолчанию нет времени ожидания |
6 | terminate_after Мы можем ограничить ответ для каждого крошечного документа до указанного количества, и при достижении этого крошечного участка запрос будет прерван заранее. По умолчанию не существует termin_after. |
7 | from Начальный индекс вхождений, по умолчанию равен 0. |
8 | size Это означает количество возвращаемых вхождений, по умолчанию равно 10. |
Мы также можем использовать запрос DSL в теле запроса дляspecification запроса, и в предыдущих главах уже было дано много примеров. Вот один из таких примеров-
POST /schools/_search { "query": { "query_string": { "query": "up" } } }
При выполнении вышеуказанного кода мы получили следующий ответ-
{ "took": 11, "timed_out": false, "_shards": { "total": 1, "successful": 1, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 1, "relation": "eq" }, "max_score": 0.47000363, "hits": [ { "_index": "schools", "_type": "school", "_id": "4", "_score": 0.47000363, "_source": { "name": "City Best School" "description": "ICSE", "street": "West End", "city": "Meerut", "state": "UP", "zip": "250002", "location": [ 28.9926174, 77.692485 ] "fees": 3500, "tags": [ "fully computerized" ] "rating": "4.5" } } ] } }