我使用Lucene.net在我们的 CMS 上索引内容和文档等。到目前为止效果很好,但现在我必须考虑到网页的以下添加:
- 发布日期
- 到期日
- 页面“处于活动状态”
- 用户授权
因此,搜索结果应该只显示发布/到期窗口内的页面,这些页面是“活动的”并且当前用户有权查看。
我应该在 Lucene 索引中包含上述信息吗?它会使查询变得更复杂一些,但 hits 集合只会返回“有效”文档,这将使分页结果更容易。
另一方面,我将重复 CMS 数据库中已经存在的信息,因此我将冒着数据完整性的风险,并且每当上述列表中的任何内容发生更改时,我都会更新索引以及实际内容本身。
还有其他人有这个问题吗?你是怎么解决的?谢谢。
编辑:我可能需要使用“FieldCache”(此处提到)将“有效”文档 ID 传递给 lucene 搜索?