Solr インデックスには、複製を表示したくないフィールドが 2 つあります。グループ化を使用して、どちらか一方のフィールドに重複が表示されるのを防ぐことができますが、Solr は現在、複数のフィールドでのグループ化をサポートしていません。ただし、フィールドの 1 つは完全一致での重複を防止する必要がありますが、もう 1 つはあいまい (ほぼ) 一致での重複を防ぐことができます。これらは非常に短いフィールドであり、多くの場合、1 つか 2 つの単語のオーダーであることに注意してください。
重複はインデックスに残る必要があることに注意してください。重複が結果に表示されないようにするだけで済みます。アプリケーションでそれらをフィルタリングするだけですが、それではページネーションが壊れてしまいます。
Solr 4 の 2 つのフィールドで重複 (またはほぼ重複) を防ぐにはどうすればよいですか?
ありがとうございました。
例:
First Name
の複製も、の複製もありませんLast Name
。これらはドキュメントです:
- 名: ジョン
- 姓: レノン
- バンド:ビートルズ
- 名: ジョン
- 姓: ジョーンズ
- バンド:レッド・ツェッペリン
- 名: ニック
- 姓: レノン
- バンド:インディペンデント
- 名: ニック
- 姓: メイソン
- バンド:ピンク・フロイド
まず、最初のドキュメントを返します。
- 名: ジョン
- 姓: レノン
- バンド:ビートルズ
2 番目のドキュメントはフィールドでの複製であるため、返却されませんFirst Name
。
3 番目のドキュメントはフィールドでの複製であるため、返却されませんLast Name
。
4 番目のドキュメントは、返されたフィールドのいずれにも重複していないFirst Name
ため、次Last Name
のように返されます。
- 名: ニック
- 姓: メイソン
- バンド:ピンク・フロイド
これで 2 つのドキュメントができました。