すべてのレコードを返すElasticsearchクエリ 質問する

すべてのレコードを返すElasticsearchクエリ 質問する

Elasticsearch に小さなデータベースがあり、テスト目的ですべてのレコードを取得したいと考えています。次の形式の URL を使用しようとしています...

http://localhost:9200/foo/_search?pretty=true&q={'matchAll':{''}}

これを実現するために使用する URL を教えていただけますか?

ベストアンサー1

lucene 構文はサポートされていると思います:

http://localhost:9200/foo/_search?pretty=true&q=*:*

サイズのデフォルトは 10 なので、&size=BIGNUMBER10 個以上のアイテムを取得する必要がある場合もあります。(BIGNUMBER はデータセットより大きいと思われる数値です)

しかし、elasticsearchのドキュメント示唆する結果セットが大きい場合は、スキャン検索タイプを使用します。

例えば:

curl -XGET 'localhost:9200/foo/_search?search_type=scan&scroll=10m&size=50' -d '
{
    "query" : {
        "match_all" : {}
    }
}'

そして、上記のドキュメント リンクに示されているようにリクエストを続けます。

編集: scan2.1.0 では非推奨になりました。

scanscroll通常のリクエストを でソートした場合と比べて利点はありません_docElasticドキュメントへのリンク(@christophe-roussy が発見)

おすすめ記事