いくつかのことを確認/試してみることをお勧めします:
私は5000万の製品のリストを持っています。各製品には 200 の機能のリストがあります。200 の機能間で最大の重複がある製品の機能を一致させることにより、類似の製品を探しています。現在、200 語をスペースで連結し、長い文字列を形成しています。
Product が Doc タイプであると仮定すると、通常は機能を値の配列として保存し、フィールド データを有効にしてみてください。次に、集計を使用して、適切に言及された最大オーバーラップを適用してそれらをグループ化し、必要なものを取得するのは簡単です。はるかに高速になると強く信じています。
保存されている 200 語の長い文字列を取得し、elasticsearch を検索します。
すべての製品またはその他のドキュメント タイプの完全な応答ではなく、集計結果だけが必要な場合があります。この場合、検索タイプを count (古いバージョン) またはサイズ 0 の query_then_fetch (新しいバージョン) に設定すると、すべてのドキュメント タイプの初期フェッチと集計のみの取得。これは、要件に基づいていくつかの状況で使用できます。
Elasticsearch 環境が適切に準備されていることを確認してください。
最後に、この数のドキュメントを使用すると、デフォルトのケースよりも適したシャード/レプリカ構成が見つかる可能性があります。