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" } } ] } }
统一资源标识符(URI)를 사용하여 검색 작업에서 많은 파라미터를 전달할 수 있습니다-
순번 | 파라미터 및 설명 |
---|---|
1 | Q 이 파라미터는 쿼리 문자열을 지정합니다 |
2 | lenient 이 파라미터는 쿼리 문자열을 지정합니다. 이 파라미터를 true로 설정하면 Formatbased 에 근거한 오류를 무시할 수 있습니다. 기본적으로 false입니다 |
3 | fields 이 파라미터는 쿼리 문자열을 지정합니다 |
4 | sort 이 파라미터를 사용하여 정렬 결과를 얻을 수 있습니다. 가능한 값은 fieldName, fieldName:asc입니다/ fieldName:desc |
5 | timeout 이 파라미터를 사용하여 검색 시간을 제한할 수 있으며 응답은 지정된 시간 내의 중간 결과만 포함됩니다. 기본적으로 타임아웃이 없습니다 |
6 | terminate_after 응답을 각 스플릿의 지정된 문서 수로 제한할 수 있으며 스플릿에 도달하면 쿼리가 사전 종료됩니다. 기본적으로 termin_after이 없습니다 |
7 | from 반환할 중간 결과 수의 시작 인덱스입니다. 기본 값은 0입니다. |
8 | size 반환할 중간 결과 수를 나타냅니다. 기본 값은10。 |
요청 본문에 쿼리 DSL을 사용하여 쿼리를 지정할 수 있으며 이전 장에서 많은 예제가 제공되었습니다. 이렇게 한 예제를 제공합니다-
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" } } ] } }