如果我向 TokenStream 添加自定义属性(例如词性),它是否用于索引过程?
我可以从索引中检索此属性吗?它是否为每个令牌存储?
如果我了解您在此处查找的内容,我认为您需要创建自己的自定义 TokenStream(我认为扩展标准 TokenStream)来完成此操作,并确定您希望如何存储所有这些额外信息。以及如何从索引中有意义地检索该信息。我知道没有办法完成这样的开箱即用的事情。
在我的脑海中,我认为您需要为通过您的自定义令牌流来的每个令牌编写一个新文档。然后在搜索时,使用荧光笔或类似的工具来获取查询匹配的术语并再次查询索引以检索有关该术语的这些元数据文档。这假设任何被这个或另一个写入的文档重用的令牌都将具有相同的元数据分配给它。如果不是这种情况,您必须确定如何识别您正在寻找的对冲突不敏感的文档。
或者,您可以编写同一文档的另一个字段,为每个标记创建一个有序的元数据列表,与数据结构平行。存储两者,再次使用荧光笔查找搜索结果,并解析出您的令牌流创建的列表中的匹配位置。
好吧,无论如何,这是一些想法。