我是 Lucene .net 的新手。如何使用 lucene.net 索引 .txt、.pdf、.doc 等文件?以及我们可以使用 lucene.net 索引哪些文件?
2 回答
Lucene.net 对索引特定文件是不可知的。您必须自己索引文件。
我会使用 IFilters 提取文档中的文本,然后使用 Lucene.net 创建搜索索引。
您可以在 codeproject.com 上搜索有关使用 IFilters 和 lucene.net 的多篇文章
在索引文件之前,您需要以适当的方式从中提取文本。Lucene 或 Lucene.net 不这样做。对于文本提取,您可以在 Windows 中使用 IFilter。IFilters 可能不稳定,您需要使用有线程问题的 COM。此外,对不同版本的文档使用不同的 ifilter 确实很麻烦。
http://www.codeproject.com/Articles/13391/Using-IFilter-in-C
www.ifilter.org
文本提取有商业替代品,但它们非常昂贵。
http://www.isys-search.com/products/document-filters
http://www.oracle.com/us/technologies/embedded/025613.htm
Apache Tika 是一个很好的商业开源替代品。它是在 Java 中的。
我强烈建议将Apache Solr/Lucene与良好的Solr .NET 客户端一起使用,而不是 Lucene.net。Solr 内置了 Tika 集成,可以实现您想要做的事情。您无需了解 Java 即可使用 Solr。它是一个独立的 Web 服务,可以在轻量级应用服务器上运行。
如果您使用 Lucene.Net 构建文档搜索解决方案,您将遇到许多 Solr 已经解决的问题。
http://www.lucidimagination.com/devzone/technical-articles/content-extraction-tika
http://wiki.apache.org/solr/ExtractingRequestHandler
这里有关于 Lucene vs Solr 的很好的讨论。