XML 文件的部分索引 (Bleve)

Partial Indexing of an XML file (Bleve)

我正在评估几个不同的库,看看哪个最适合我的需要。

现在我正在看 Bleve,但我很乐意使用任何库。

我希望索引完整文件,但 XML 格式的特定文件除外。对于那些我只希望 Bleve 索引特定标签的人,因为大多数标签都没有搜索价值。我正在尝试评估这是否可行,但作为 Bleve 的新手,我不确定我需要自定义哪一部分。

文档很好,但我似乎找不到这个答案。我只需要一个包含关键字和步骤的解释,不需要任何代码,我只需要推动一下,因为我花了几个小时在 google 搜索上转动轮子,但我一无所获。

可能有很多方法可以解决这个问题。这是一个。

Bleve 索引文档,这些文档是 key/value 元数据对的集合。

在您的情况下,文档可以由 2 key/value 对表示:.xml 文件的名称(用于唯一标识文档)和文件的内容。

type Doc struct {
    Name string
    Body string
}

问题是 body 是 XML 而 Bleve 不支持开箱即用的 XML。

解决此问题的一种方法是通过去除不需要的标签和内容来预处理 XML 文件。您可以使用 encoding/xml 标准库。

有关类似任务的示例,您可以查看 https://github.com/blevesearch/fosdem-search/

的代码

在那里他们以自定义格式 (https://github.com/blevesearch/fosdem-search/blob/master/fosdem.ical) by parsing it into a format they can submit to Bleve for indexing (https://github.com/blevesearch/fosdem-search/blob/master/ical.go) 索引文件。