2017-02-01 18 views
0

私はelasticsearchを使用して何百万というデータをフィルタリングしようとしています。すべてのデータは1つのインデックスにあり、私はそれらを「直接」の方法でアクセスしたいと考えています。弾性検索インデックスのエイリアス

私は直接的な意味ですか? ダイレクト・ウェイは、例えばidではなく、このインデックスの700000番目の要素にアクセスすることを意味します。これは何とか可能ですか?

私はすでに試した何

:+サイズの作品から

  • を、しかし、要素数が> 10000
  • スクロール、私は試していない場合は、高速ではないようだが、それはだが何とか正しいことではないように見えます私のユースケースのために。

他のアイデアはありますか?

+0

インデックスの正確に700000番目の要素にアクセスする必要があるユースケースは何ですか?ほとんどの場合(すべてを取得する場合)、スクロールが最適です。 – JiriS

+0

私のユースケースはかなりシンプルです。インデックスのすべての要素を表す表があります。したがって、私はメモリ内のすべての要素を読み込むことができません、私は遅延の要素をロードしたい。このテーブルは、どの要素が必要なのかを私に伝えています。それからelasticsearchから要素を取得したいのです。 – rage

答えて

0

スクロールは機能しません。それはすべてのデータを取得します。

私はelasticseachがあなたがしたいことのための正しいユースケースではないと思います。

IDのリンクリストを使用するとインデックスでIDを取得できるようになり、elasticsearchをクエリしてデータを取得できます。

データが変更または削除されないような場合は、データベース内の自動インクリメントフィールドのように機能する追加のフィールドをマッピングに追加できます。そのフィールドを使用してデータを取得できます。