我已经能够在 iOS 上编译 CLucene 项目,目前正尝试在我的 iOS 应用程序中使用它。我正在尝试索引 xhtml 文档,并且已经能够通过从这些文档中提取文本节点来做到这一点,然后通过将它们连接在一起来在 lucene 中进行索引,以便一个 xhtml 文档中的所有文本出现在一个单一的Lucene 文档。
但是,我的 xhtml 文档的每个文本节点都有自定义属性,因此当对索引文本进行搜索时,我也应该能够获得与该文本关联的属性。
我的 xml 数据如下所示:
<span data-value="/1/2/3">This is a sample text for this span</span>
<span data-value="/2/3/4">This is a example text for another span</span>
<span data-value="/3/4/5">Searching for this span text</span>
因此,当我从 Lucene 索引中搜索单词样本时,我应该能够检索归因于单词 Sample 关联的数据值。在上述情况下,它将是 data-value="/1/2/3"。
我创建索引的方式是将数据值属性和文本节点字段连接在一起,然后由 Lucene 对其进行索引。这样,每当我的搜索结果返回时,它也会返回与之一起属性的数据值。我可以评估属性值,并且在搜索时会从显示结果中完全删除该属性。但是,对于包含在跨度文本中的大文本,情况并非如此,其中可能会返回搜索的单词,但数据值属性可能不是搜索结果的一部分,在显示时可以进一步剥离。
但是,我认为这不是索引 XML 属性及其文本数据的最佳方式。
如果有人可以帮助我使用该方法来索引文本与其属性之间的关系,我将不胜感激。
更新:我发现从文本生成的令牌可以有与之关联的有效负载,所以我在想,如果我们可以将 XML 属性内置为我的整个字符串的有效负载,可以将其视为单个令牌(如果我不分析文本),可能对我的目的有用。我想知道是否有人可以帮助我确定这是否适合我的情况。非常感谢您的帮助。
谢谢和问候, 阿希什