我是 LuceneNet 的新手。我应该说非常新。在阅读了大量有关它的数据后,我心中有一些疑问,我无法清除。好吧,我在一个场景中,我将拥有大量的 PDF/Docs/Excels/Images 以及将具有相关数据的网页。系统中有各种类型的用户,其中一些可以访问特定的 PDF/Docs,而另一些则不能。我将在我希望部署我的应用程序的地方使用 Azure。因此,如果用户搜索某些内容,我只想向他显示那些他有权查看的结果。如果我使用 LuceneNet 可以做到吗?此外,我希望跟踪特定文档/URL等的点击量,以便它可以显示在大多数搜索等中。那么是否可以使用 LuceneNet 来实现呢?当涉及到 PDF/Doc/Docx/XSL/XSLX/PPT/PPTX 等时,如果我想对其中的文件和数据进行索引,我需要使用哪些东西。我应该如何通过 LuceneNet 存储数据(索引数据)?我的意思是我应该将它存储在 BLOB 存储中吗?可取吗??我希望我的应用程序应该是可扩展的。那么 LuceneNet 会支持我吗?我可以有多个它的工人角色实例吗?重新索引如何发生?如果在重新索引期间重新索引是否会重新生成所有索引,我将能够搜索吗?很抱歉一起提出这么多问题,所有这些问题也可能没有正确的顺序。但我回忆起来问道。我应该如何存储 LuceneNet 的数据(索引数据)?我的意思是我应该将它存储在 BLOB 存储中吗?可取吗??我希望我的应用程序应该是可扩展的。那么 LuceneNet 会支持我吗?我可以有多个它的工人角色实例吗?重新索引如何发生?如果在重新索引期间重新索引是否会重新生成所有索引,我将能够搜索吗?很抱歉一起提出这么多问题,所有这些问题也可能没有正确的顺序。但我回忆起来问道。我应该如何存储 LuceneNet 的数据(索引数据)?我的意思是我应该将它存储在 BLOB 存储中吗?可取吗??我希望我的应用程序应该是可扩展的。那么 LuceneNet 会支持我吗?我可以有多个它的工人角色实例吗?重新索引如何发生?如果在重新索引期间重新索引是否会重新生成所有索引,我将能够搜索吗?很抱歉一起提出这么多问题,所有这些问题也可能没有正确的顺序。但我回忆起来问道。所有这些也可能没有正确的顺序。但我回忆起来问道。所有这些也可能没有正确的顺序。但我回忆起来问道。
1 回答
首先,我会推荐一本名为“Lucene In Action”的书,它适用于 Java,但它使用的是 Lucene 版本 3.0.3,恰好是当前的 Lucene.NET 版本。API 是相同的,因此它是一个很好的入门资源.
回答... 1)是否可以仅在 Lucene.NET 中显示授权记录?是的..你可以通过几种方式做到这一点。如果您需要,您可以按用户分开索引,或者您可以添加其他字段并始终将这些字段包含在搜索查询中。
2)是的,您也可以在 Lucene 中跟踪命中(您可以记录您的命中并根据需要插入它们)
3)如果你想索引PDF、Docs、Docx……你需要提取文本。Lucene 不会为您这样做。因此,您可以使用 Office 自动化(用于 Word Docs..its 免费 API)。API 是基本的,但如果您想要更成熟/成本更高的东西,请选择 AsPose(.NET 库可以完全满足您的需求)
4) 有一个库可以为您抽象 AzureDirectory 并使用 blob 存储。我不推荐它,因为它不适合:Lucene 3.0.3,存在稳定性问题,并且它使用较旧的 Storage Client API(2.0 之前的版本)。我会使用 Azure IaaS 虚拟机并将 Lucene 索引存储在磁盘上。如有必要,您始终可以扩展和添加更多磁盘并条带化磁盘。
5) 你应该只有一个 IndexWriter,但你可以有多个 index Searcher。
6) 从 Lucene 2.9.x 开始,您有一种称为“实时”搜索的功能,您可以在其中更新索引,执行查询的搜索器可以“接近”实时获取新数据,而无需完全提交索引/酡。