我正在评估几个不同的库,以确定哪个库最适合我的需求。
现在,我正在看Bleve,但我很高兴使用任何库。
我正在寻找索引完整的文件,除了特定的XML格式文件。对于那些标签,我只希望Bleve为特定标签建立索引,因为大多数标签都不值得搜索。我正在尝试评估这是否可行,但是,对于Bleve来说,这是我的新手,我不确定需要定制哪个部分。
文档非常好,但是我似乎找不到这个答案。我所需要的只是一个带有关键字和步骤的解释,不需要代码,我只需要一推,因为我花了数小时用Google搜索旋转轮子,却无处可寻。
最佳答案
可能有很多方法可以解决此问题。这是一个
Bleve索引文档,这些文档是键/值元数据对的集合。
在您的情况下,文档可以由2个键/值对表示:.xml文件的名称(用于唯一标识文档)和文件的内容。
type Doc struct {
Name string
Body string
}
问题在于主体是XML,而Bleve不支持现成的XML。
解决该问题的一种方法是通过剥离不需要的标签和内容来预处理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)的格式。
关于go - XML文件的部分索引(Bleve),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44980688/