这不一定是特定于 dtSearch 的问题(例如,它更像是一个 fts 引擎问题),而是处理一种索引由多个页面组成的文档并获得页面级命中结果的方法。
我用谷歌搜索并搜索并没有发现任何东西,因此我的问题是:
我们有一堆来自 m 本书的扫描 n tiff 页。我们对它们进行 OCR,对它们进行全文索引并执行搜索。
我们希望搜索结果是书籍级别的(例如,搜索结果应该包含一本书),但也希望能够在页面级别获得找到的项目(以便能够有效地执行点击突出显示,例如术语SomeTerm在第 1 页、第 2 页和第 7 页上找到)。
问题来了:
- 如果我们一次索引页面的文本,并且 BookA 中的 Page1 包含术语Term1,并且同样来自 BookA 的 Page2 包含术语 Term2 ,则搜索Term1 AND Term2不会产生任何结果,这是正常的
- 如果我们在一个大文本块中索引所有页面的文本,所有这些都属于同一本书,我们将无法获得找到的术语所属的页面。
dtSearch Desktop 具有这样的 PDF 索引功能:它能够从单个文档中索引所有页面的文本,但也可以通过使用 %%Page%% 符号来判断发生命中的页面。
我们正在使用自定义 DataSource 来为索引器提供数据,但我们无法确定要使用的文档结构来获得所需的结果。
如果您使用任何其他 fts 引擎(例如 Lucene/Sphinx),您将如何解决上述问题(有重复自己的风险):
- 您需要索引页面的内容
- 页面按逻辑分组到文档中
- 您需要通过文档获取结果
- 高亮结果必须包含页码
谢谢你的任何建议,乔治
PS:抱歉留言太长了