Elasticsearch に小さなデータベースがあり、テスト目的ですべてのレコードを取得したいと考えています。次の形式の URL を使用しようとしています...
http://localhost:9200/foo/_search?pretty=true&q={'matchAll':{''}}
これを実現するために使用する URL を教えていただけますか?
ベストアンサー1
lucene 構文はサポートされていると思います:
http://localhost:9200/foo/_search?pretty=true&q=*:*
サイズのデフォルトは 10 なので、&size=BIGNUMBER
10 個以上のアイテムを取得する必要がある場合もあります。(BIGNUMBER はデータセットより大きいと思われる数値です)
しかし、elasticsearchのドキュメント示唆する結果セットが大きい場合は、スキャン検索タイプを使用します。
例えば:
curl -XGET 'localhost:9200/foo/_search?search_type=scan&scroll=10m&size=50' -d '
{
"query" : {
"match_all" : {}
}
}'
そして、上記のドキュメント リンクに示されているようにリクエストを続けます。
編集: scan
2.1.0 では非推奨になりました。
scan
scroll
通常のリクエストを でソートした場合と比べて利点はありません_doc
。Elasticドキュメントへのリンク(@christophe-roussy が発見)