我的网页上有以下两个字段:BookAuthor
和BookDescription
. 提交时,页面使用给定的搜索条件搜索 Lucene 索引。
如果用户没有在两个字段中输入任何内容并提交页面,我如何让 Lucene.Net 从我的索引中返回所有书籍而不考虑BookAuthor
字段BookDescription
值?
我的网页上有以下两个字段:BookAuthor
和BookDescription
. 提交时,页面使用给定的搜索条件搜索 Lucene 索引。
如果用户没有在两个字段中输入任何内容并提交页面,我如何让 Lucene.Net 从我的索引中返回所有书籍而不考虑BookAuthor
字段BookDescription
值?
Use a MatchAllDocsQuery.
这里的常见解决方案是为索引中的每个文档添加另一个字段。这是一个假字段,如“ALL_RECORDS”,包含一些虚拟值,如“x”。Lucene 不会接受空查询,因此如果用户尝试执行一个查询,您的应用程序会用类似“ALL_RECORDS:x”的查询替换它,它会返回每条记录。