0
elasticsearch.net NESTスクロールコールが同じ結果を返す理由を理解しようとしています。私は、現在のページを追跡し、バッチサイズと共に渡されるC#アプリケーションの外部ループを持っています。彼らは内に含まれているオブジェクトと一対多の関係でネストされた要素のIDは、IDのリストを呼び出しElasticsearch.net - NESTスクロールは同じ結果を返し続けます
List<int> ids = GetIds();
int count = _batchSize;
int currentPage = 0;
while (count == _batchSize)
{
var results = Execute(client => client.Search<Invoice>(s => s
.Index(indexName)
.Query(q => q
.Terms(n => n
.Field(f => f.Items.FirstOrDefault().MyInformation.FirstOrDefault().ItemID)
.Terms(ids)))
.Size(batchSize)
.From(currentPage * batchSize)
.Scroll("1m")
));
DoSomethingWithResults();
count = results.Count();
currentPage++;
}
以上である:私は、コードを簡略化してきました。だからこそ私はスクロールを使いたいのですが、返されるInvoiceオブジェクトの数がわからないからです。これが呼び出されるたびにcurrentPageは1だけインクリメントされます。スクロールの次のバッチが返されると仮定していました。
私はこれをページングフローの多くとして見ているので、間違っていると思います。
おかげで再びラスを見てみましょう! 最初の検索とその後の検索では、異なる種類のコールが使用されていたことに気づいていませんでした。 すべては現在計画通りに動作しています、私は興奮しています! – CorribView
よろしくお願いします! –