gpt4 book ai didi

TokenStream 中存储值的 Lucene 字段

转载 作者:行者123 更新时间:2023-12-02 03:12:57 25 4
gpt4 key购买 nike

我有一个需要来自 token 流的字段;它不能用字符串实例化然后分析为标记。例如,我可能想将多个列(在我的 RDBMS 中)的数据组合到单个 Lucene 字段中,但我想以自己的方式分析每个列。因此,我不能简单地将它们全部连接为单个字符串,然后分析生成的字符串。

我现在遇到的问题是无法存储从 token 流创建的字段,这在一般情况下是有意义的,因为流可能没有明显的字符串表示形式。但是,我知道字符串表示形式,并且我想存储它。

我尝试添加相同的字段两次,一次是存储它并具有字符串数据,一次是来自 token 流,但似乎无法做到这一点。除了添加一个名为“myfield__stored”的字段之类的黑客之外,还有其他方法可以做到这一点吗?

我使用的是2.9.2。

最佳答案

我找到了办法。您可以通过将其实例化为普通字段但稍后调用 SetTokenStream 来潜入它:

Field f = new Field(Name, StringValue, Store, Analyzed, TV);
f.SetTokenStream(TokenStreamValue);

因为仅当 token 流值为 null 时才会对读取器/字符串值建立索引,因此将对 token 流值建立索引。无论 token 流如何,存储方法都会查看字符串/读取器,因此将存储该值。

关于TokenStream 中存储值的 Lucene 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4494254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com