2017-08-03 2 views
1

私はElasticSearchを使用して1000万を超えるレコードを検索しています。ほとんどのレコードには1〜25語が含まれています。私はそれからデータを取得したい、私が現在使用しているメソッドは、私がソースフィールドからデータを取得しようとしているので、大きなデータ検索のために大幅に遅いです。私はこのプロセスをより速くする方法が必要です。私はElasticSearchで他のデータベースなどを自由に使用できます。誰もがこれについていくつかの良いアイデアと例を提案することはできますか?ソースフィールドを使用した膨大なデータ検索のための低速検索パフォーマンス

私はGoogleのソリューションを検索しようとしましたが、私が見つけた1つのソリューションはページングであり、可能な限りどこでも適用しましたが、1つのクエリで多くの(5000+)ヒットを取得する場合、 。

ありがとうございます。

+0

どのような種類のクエリを実行していますか?あなたのトポロジは何ですか?クラスタモードを使用していますか? – aclokay

+0

次のURLで検索のプロファイルを作成できます。https://www.elastic.co/guide/en/elasticsearch/reference/current/search-profile.html – MartinSchulze

答えて

0

は、単一の検索からの検索要求は、結果の単一の「ページ」を返しますが、スクロール APIは、結果(あるいはすべて 結果)を大量に取得するために使用することができますscroll

を使用してみてください要求と同じ方法で、 は従来のデータベースでカーソルを使用します。

+0

ページ設定モードでは、私はそれを使用しています。しかし、私はすぐに結果全体を取得したい。私もスクロールでループしてみましたが、それも遅いです。 – Callisto

+0

私は理解していない、ページ分割モードまたはスクロールを使用していますか?あなたはスクロールを読むことができるので、 'all event'イベントを取得するために使用することができます。 – aclokay

+0

私はスクロールを使ってページネーションを行いました。そして、今すぐすべてのデータを一度に取得したいと思います。ページ番号なし、スクロールしない原因このデータをアプリケーションに処理してクライアントに表示したいデータを取得するためにソースフィールドを使用すると、私の知る限り遅くなります。 – Callisto

関連する問題