商用検索エンジンの代替として Solr の評価を依頼されました。
アプリケーションには、「バケット」と呼ばれるものを使用して結果をソートする非常に特殊な方法が用意されています。
少し詳しく説明します。
インターフェイスには、「what」と「where」の 2 つのフィールドがあります。
両方のフィールドは、実際にはフィールドのセット (what = カテゴリ、名前、連絡先情報... および where = 国、州、地域、都市...) であるため、Solr の copyfield 機能がすぐに思い浮かびます。実際の一致が生成されたフィールドに基づいて、結果は特定のバケットに収まるはずです。特に、最初のバケットには、カテゴリ フィールドが完全に一致するすべての結果ドキュメントが含まれます。2 番目のバケットには、名前が完全に一致するすべての結果、3 番目はカテゴリが部分的に一致するもの、4 番目は名前が部分的に一致するもの、5 番目は連絡先情報が一致するものです。など...次に、これらの第 1 層の各バケット内で、一致した場所 (都市、地域、州など) に応じて、すべての結果が第 2 層のバケットに配置されます。さらに複雑なことに、ランキング フィールドの値に従って結果が配置される第 3 層のバケットもあります。ランキング フィールドの値が 1 であるすべてのドキュメントはバケット 1 に入ります。そして最後に、結果は第 3 層のバケットでランダム化する必要があります...
これに加えて、彼らは明らかにファセットとページングのサポートを望んでいます。
長いメールで申し訳ありませんが、フィードバックや提案をいただければ幸いです。
これは非常に特殊な問題であることは承知していますが、私を正しい方向に向けてくれるものはすべて役に立ちます。
乾杯、トム