MVC アプリケーション (MySql を使用) の全文検索を Lucene .NET に変更しています。私のパーソナライズされた検索には、Lucene で再現できないいくつかの癖があります。
大きなものは次のようなものです。
顧客 1 の連絡先リストには顧客 2 がいて、彼にキーワードを割り当てています。たとえば、「お母さん」とします。これは非公開のキーワードで、顧客 1 のみが表示でき、顧客 1 が検索した場合にのみ機能します。
顧客 1 が「お母さん」を検索:
- 顧客 2
- 製品 3
- 等..
顧客 2 が「お母さん」を検索:
- 製品 3
- 等..
基本的に、これはユーザー識別子を持つタグです。
Lucene でこれを行うにはどうすればよいですか?
私が考えることができる唯一の方法は、ドキュメント内のキーワードを使用して各ユーザーのプライベート インデックスを作成し、標準インデックスとユーザー プライベート インデックスを使用して検索することです。問題は、数千分の 1 のインデックスになってしまうことです...それが本当に効率的かどうかはわかりません。
ドキュメントのフィールドに何かを設定して、ユーザー ID を保存し、ID が一致した場合にのみ検索できるようにする方法はありますか?
ありがとう
編集:
ドキュメント「顧客 2」にキーワード「MOM」を追加する必要がありますが、そのキーワードは顧客 1 が検索する場合にのみ使用できます。顧客 2 が自分自身を検索すると、キーワード 1 以外のすべてのフィールドが使用されます。