gpt4 book ai didi

java - Lucene - 如何使用 TeeSinkTokenFilter?

转载 作者:行者123 更新时间:2023-12-01 04:24:47 25 4
gpt4 key购买 nike

有人可以解释一下如何(以及用途)使用 Lucene 的 TeeSinkTokenFilter 吗?一个例子也将非常感激=P。我没有找到official documentation很清楚了,也查了很多网站,没有太大进展。谢谢。

最佳答案

是的,我也不认为官方文档很清楚。我认为它如此令人困惑的部分原因是它以一种很难区分它们的方式同时展示了两种不同的功能。让我看看是否可以重写他们的示例以仅显示基本情况。

TeeSinkTokenFilter source1 = new TeeSinkTokenFilter(
new WhitespaceTokenizer(version, reader1));
TeeSinkTokenFilter.SinkTokenStream sink1 = source1.newSinkTokenStream();
TeeSinkTokenFilter.SinkTokenStream sink2 = source1.newSinkTokenStream();
source1.consumeAllTokens(); // all tokens get cached at this point

TokenStream final3 = new EntityDetect(sink1);
TokenStream final4 = new URLDetect(sink2);

d.add(new TextField("f3", final3, Field.Store.NO));
d.add(new TextField("f4", final4, Field.Store.NO));

这允许final3和final4 token 流共享source1完成的处理。正如官方文档所述,消耗流的顺序很重要,但正如它没有说的那样,顺序似乎是不确定的(或者可能按字段名称的字母顺序排列)。我建议使用 ConsumerAllTokens 方法,就像我上面所做的那样。

关于java - Lucene - 如何使用 TeeSinkTokenFilter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18597073/

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