ElasticSearch の基本的な実装をセットアップし、ドキュメントにいくつかのフィールドを保存して、クエリを実行できるようにしました。
var searchResult = client.Search<SearchTest>(s =>
s
.Size(1000)
.Fields(f => f.ID)
.Query(q => q.QueryString(d => d.Query(query)))
)
.Documents.Select(item =>
item.ID
)
.ToList();
var products = this.DbContext.Products
.Where(item =>
searchResult.Contains(item.ProductId)
&& ...
)
.Select(item => ...);
// subsequent queries here
現時点では、データベース クエリで大量の情報を取得するために使用するインデックスを返すだけです。ドキュメントに保存されている情報も取得されます。これをデータベースから取得するのをスキップして、ドキュメント ストアのデータを使用する必要があるのでしょうか。それとも、検索以外の目的で使用する必要がありますか?
一部のコンテキスト: 製品データベースでの検索では、一部の情報は常に同じであり、一部の情報 (価格計算など) は、検索している顧客によって異なります。