私はSolrをウェブサイトの製品フィルタリングに使用しています.
たとえば、テレビのデータベースをサイズ、価格、会社などでフィルタリングできる製品フィルターを使用できます。Solr+FilterQuery は、そのような機能に対して非常に効果的であることがわかりました。DB 内のすべての TV の製品情報を持つ別のコアがあります。
製品レビュー用のコアがもう 1 つあります。レビューは、特定の製品タイプまたは会社に関するものです。そのため、誰かが Samsung TV または Samsung カスタマー サービスでレビューを書くことができます。したがって、誰かがテキスト (たとえば、「Samsung TV レビュー」または「Samsung カスタマー サービス」) を検索するとき、私はこのコアを検索します。
ここで、上記のコアの結果をマージしたいと思います。したがって、誰かが「samsung 46 lcd コントラスト比 レビュー」を検索するとき、私は基本的に会社 (Samsung) でテレビをフィルタリングし、次にサイズ (46") でフィルタリングしてから、「contrast ratio review」というテキストを含むレビューを見つけたいと考えています。これを行う方法の手がかり 基本的に、結果をドキュメントIDでマージし、結果2の列を結果1に追加したいと考えています。
データを平坦化する提案を見てきましたが、他の多くのフィルターでレビュー インデックスを使用したいと考えています。だから、それが良いアイデアかどうかはわかりません。さらに、新しいレビューが入り始めた場合、製品のすべてのコアを再インデックスしたくありません (デルタ再インデックスでも多くの製品に影響します)。
これを達成する方法についてのアイデアはありますか?