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" } } ] } }