1. ホーム
  2. database

[解決済み] 全レコードを返すElasticsearchクエリ

2022-03-18 11:26:20

質問

Elasticsearchに小さなデータベースを持っていて、テスト目的ですべてのレコードを引き戻したいと思っています。 以下のような形式のURLを使用しようとしています。

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

どなたか、これを実現するためのURLを教えていただけませんか?

解決方法は?

luceneの構文がサポートされていると思いますので。

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

のサイズはデフォルトで 10 になっています。 &size=BIGNUMBER を使えば、10個以上のアイテムを取得することができます。(ここで BIGNUMBER はデータセットより大きいと思われる数字に等しい)

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

EGです。

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

を実行し、上記のドキュメントリンクにあるようにリクエストを続けます。

EDIT scan 2.1.0 で非推奨。

scan は、通常の scroll でソートされたリクエストを _doc . elastic ドキュメントへのリンク (発見者: @christophe-roussy)