0

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

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

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

文档非常好,但我似乎找不到这个答案。我需要的只是关键字和步骤的解释,不需要代码,我只需要推动,因为我已经花了几个小时在谷歌搜索中旋转我的轮子,但我无处可去。

4

1 回答 1

1

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

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

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

type Doc struct {
    Name string
    Body string
}

问题是 body 是 XML 并且 Bleve 不支持 XML out-of-the-box。

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

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

在那里,他们以自定义格式(https://github.com/blevesearch/fosdem-search/blob/master/fosdem.ical)将文件解析为可以提交给 Bleve 进行索引的格式(https://github .com/blevesearch/fosdem-search/blob/master/ical.go)。

于 2017-07-08T06:45:32.713 回答