我想为HTML内容创建一个全文搜索索引(更具体地说: XHTML格式的EPUB章节)。如下所示:
...
<p>Lorem ipsum <b>dolor</b> sit amet, consectetur adipiscing elit.</p>
...问题是,我需要匹配文本的位置(比如xpath)和搜索结果,因为我需要将阅读器软件定位到正确的位置。我需要像突出显示功能,但没有突出显示的文本,给出匹配的地方-突出显示的位置。因此,如果我搜索"dolor“,它会返回如下内容:
matches:[
...
{"match":"dolor", "xpath":"//*[@id="lipsum"]/p[1]/b"}
...
]标准场景(我在任何地方都能找到),比如带有筛选器、然后标记等的带状html字符,在这里不适用,因为它在第一步中丢失了位置信息。
有什么建议吗?对于Solr或ElasticSearch,这是可能的吗?谢谢!
发布于 2016-02-08 11:15:52
您的问题是关于xhtml-Dokument突出显示结果的xpath。
我不知道在solr或elasticsearch中运行的解决方案。在eXtensible文本框架(‘XTF’)中有一些非常类似的东西,它是建立在(一个旧版本的) Lucene之上的。在XTF中,您可以在原始xml中获取高亮为标记。因此,编写xsl转换应该很容易,以生成相应的xpath。
简而言之,主要思想是将EPUB-book分割成重叠块,并将xml-结构作为特殊字符存储在索引和存储字段中。通过突出显示信息,您可以重新转换原始的xml-结构以找到您的xpath。
https://stackoverflow.com/questions/35253292
复制相似问题