私はLucene.netを使用してCMSのコンテンツやドキュメントなどのインデックスを作成します。これは、これまでも取り組んできましたが、今私は、Webページに以下の追加のアカウントを取るために持っている:Luceneの文書にはどうすればいいですか?
- 日
- 有効期限を公開
- ページ
- ユーザー認証「アクティブです」
したがって、検索結果には[公開/有効期限]ウィンドウ内のページのみが表示され、「アクティブ」であり、現在のユーザーには表示が許可されている必要があります。
Luceneインデックスに上記の情報を含める必要がありますか?クエリは少し複雑になりますが、ヒットコレクションは「有効な」ドキュメントのみを返し、ページングの結果をより簡単にします。
一方、私は私のデータの整合性を危険にさらすことになりますので、CMSデータベースにすでにある情報を繰り返すことになります、と私は上記のリストに何かが変更されるたびにインデックスを更新しています実際のコンテンツそのものが含まれます。
他にもこの問題がありましたか?どのように解決しましたか?ありがとう。
編集:私は「FieldCache」を使用する必要があるかもしれませんがLucene検索に「有効」ドキュメントIDを渡す(hereを述べましたか)?検索結果の公開 /有効期限のウィンドウ内にあるべきであるだけ ショーのページ..so
私の好みは、定期的にインデックス(Luceneのドキュメント<10,000)再構築するために勝利のサービスを使用することですが、アプリの要件が変化していることを指示コンテンツ/ページなどに作られました。検索結果にすぐに反映されます – Nick
うん。とにかく愚かな要件:あなたが定期的にあなたのインデックスを更新する機会を得ない限り - それはあなたがインデックスからそれらを取得した後にあなたの結果をフィルタリングしているように見えます。 –