如何存储自定义标记属性在Lucene索引(How to store custom token att

2019-10-20 05:40发布

我想创建一个Lucene分析器RDF节点。 RDF节点可以有多种类型(URI,B节点,平凡文字,用语言平凡文字,类型文字与数据类型)。 在分析术语,我想创建一个RDFNodeTypeAttribute,LanguageAttribute和DatatypeAttribute分别存储RDF节点的类型,文字的语言和数据类型的属性。 我的问题是,这些特性如何存储在Lucene索引。 我必须写一个自定义的编解码器? 我一定要使用PayloadAttribute? 我如何利用一次存储在我的搜索索引这些属性? 谢谢您的帮助

Answer 1:

我无法准确地得到您的要求,但如果你不快乐与Lucene索引进行编码和解码的方式,你会使用的编解码器。 编解码器为您提供了灵活性,有自己的PostingsFormat,SegmentInfosFormat,LiveDocsFormat等,所以让我们说,你想从默认Lucence编解码器不同postingsFormat - 这更像是每学期,存储所有docIds它发生在,多少次发生在一个文档,在什么位置等特定格式。 如果你想要这个信息被存储在不同的格式,你需要一个编解码器。

我不认为你需要编写任何编解码器或任何这PostingFormat。 或许,编写自己的分析和相似的类应该是足够的。 如果你给你的问题更多的信息,我可以进一步思考。

有效载荷是在长期水平,典型的使用情况是存储元数据为每学期。 因此,用例,如:这个词是用粗体,或者是一个名词等是术语元数据,并应存放在一个有效载荷。 实际上,你用有效载荷的文档的得分,他们在给一个术语一些体重关系。

虽然RDF是一个网络资源元数据,你可能谈论索引RDF本身。 即使是web文档的一部分,你是索引,把RDF信息为每学期web文档中不会是一个可行的办法,因为有更好的办法来分配权重比一个文档。



文章来源: How to store custom token attribute in Lucene Index
标签: lucene