1.ElasticserchのサーチAPI
GET|POST /{index}/{type}/_search
2.サーチAPIのバリエーション
- /_search
すべてのインデックス内のすべてのタイプを対象に検索する。 - /blog/_search
blogインデックス内のすべてのタイプを対象に検索する。 - /blog.author/_search
blogとauthorインデックス内のすべてのタイプを対象に検索する。 - /b*,a*/_search
bから始まるインデックスと、aから始まるインデックス内のすべてのタイプを対象に検索する。 - /blog/posts/_search
blogインデックス内のpostsタイプを対象に検索する。 - /blog,author/posts,users/_search
blogとauthorインデックス内のpostsとusersタイプを対象に検索する。 - /_all/posts,users/_search
すべてのインデックス内のpostsとusersタイプを対象に検索する。
3.APIのパラメータ
- ?pretty=true(pretty):JSON形式結果を返すようElasticsearchに指示。(レスポンスの結果を見やすくする)
- ?format=yaml:ymlで出力したい場合に指定
- q=*:インデックス内のすべて(=*のため)のドキュメントに一致するようElasticsearchに指示。
- size:一度に検索結果を取得する数を指定。デフォルトは10
- from:スキップする検索結果数を指定。デフォルトは0
- sort=:フィールドとasc/descを指定するとそれに応じたソートを実行
- bytes=:出力する単位を指定
例1)
curl GET /blog/_search?q=*&sort=account_number:asc&pretty
→blogインデックス内のすべてのドキュメントのaccount_numberフィールドを昇順でソートして結果を表示
例2)
GET /_search?size=5
GET /_search?size=5&from=15
例3)
curl -s GET _cat/indices?v&bytes=kb
status index uuid pri rep docs.count docs.deleted store.size pri.store.size
green open blog rwvaOBVcRaGjqt3NDRFV-w 5 1 0 0 32 32