C# 使用Lucene.NET搜索过滤器
我正在使用Lucene.Net创建一个网站来搜索以PDF格式存储的书籍、文章等。例如,我需要能够根据作者姓名过滤搜索结果。只有Lucene能做到这一点吗?或者我需要一个数据库来存储每个文档的过滤器字段吗 还有,索引文档的最佳方法是什么?我将从大约50个文档开始,定期向索引中添加一堆文档——可能是通过web表单。我应该使用数据库来存储文档路径吗C# 使用Lucene.NET搜索过滤器,c#,.net,full-text-search,lucene,lucene.net,C#,.net,Full Text Search,Lucene,Lucene.net,我正在使用Lucene.Net创建一个网站来搜索以PDF格式存储的书籍、文章等。例如,我需要能够根据作者姓名过滤搜索结果。只有Lucene能做到这一点吗?或者我需要一个数据库来存储每个文档的过滤器字段吗 还有,索引文档的最佳方法是什么?我将从大约50个文档开始,定期向索引中添加一堆文档——可能是通过web表单。我应该使用数据库来存储文档路径吗 谢谢。Lucene有两种不同的分析器,它们可以去除噪音并进行“词干分析”,这在您想要进行全文搜索时非常有用,但您仍然需要将PDF本身存储在某个地方。Luc
谢谢。Lucene有两种不同的分析器,它们可以去除噪音并进行“词干分析”,这在您想要进行全文搜索时非常有用,但您仍然需要将PDF本身存储在某个地方。Lucene.Net很乐意在文件系统上建立一个索引,您可以在它构建的文档中添加一个名为“PATH”的字段,其中包含文档的路径。以下是您需要执行的操作列表:
回答得很好,谢谢你的简化。所以,根本不需要DB?如果我要离线执行第2步,并让我的用户添加文档,那么将所有请求发送到数据库,然后我可以有一个单独的进程对尚未索引的请求进行索引,并使用主键id作为索引中的唯一id,这会有帮助吗?你认为有一个DB有意义吗?如果将来我决定为每个文档提供一些“相关信息”或类似信息,DB会很有帮助,对吗?如果您需要DB功能,例如联接或复杂选择,则需要DB。这篇论文:解决在数据库中放什么和在搜索引擎中放什么的问题。DB可能是您只需要显示而不需要搜索的附加信息的正确位置。