SOLR 8.4.1:无法将 OpenNLP bin 文件上传到 zookeeper

我正在尝试为 SOLR 设置 OpenNLP 功能,为此,我需要配置专用的 fieldType:

<fieldType name="text_opennlp" class="solr.TextField" positionIncrementGap="100" multiValued="true" >
<analyzer>
  <tokenizer class="solr.OpenNLPTokenizerFactory"
    sentenceModel="en-sent.bin"
    tokenizerModel="en-token.bin"/>
  <filter class="solr.OpenNLPPOSFilterFactory" posTaggerModel="en-pos-maxent.bin"/>
  <filter class="solr.OpenNLPChunkerFilterFactory" chunkerModel="en-chunker.bin"/>
  <filter class="solr.TypeAsPayloadFilterFactory"/>
</analyzer>

我将所需的文件:en-sent.bin、en-token.bin、en-pos-maxent.bin 和 en-chunker.bin 放入适当的集合配置目录并触发:

bin/solr.cmd zk upconfig -d ../solr_config/myCollection -n myConfig -z localhost:9983 并得到错误:

java.io.IOException: An established connection was aborted by the software in your host machine
at sun.nio.ch.SocketDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
at sun.nio.ch.IOUtil.read(IOUtil.java:192)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
at org.apache.zookeeper.ClientCnxnSocketNIO.doIO(ClientCnxnSocketNIO.java:75)
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:363)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1223)

上传目录中没有这些文件的配置工作正常(没有新字段)。

我使用的是 SOLR 8.4.1

zklovelhz 回答:SOLR 8.4.1:无法将 OpenNLP bin 文件上传到 zookeeper

Zookeeper 有 a default maximum file size of 1MB。通常这些文件比那个大,所以你必须在你的 ZK 集群中调整大小。

某些 Solr 功能,例如文本分析同义词、LTR 和 OpenNLP 命名实体识别,需要可能大于默认限制的配置资源。可以通过 Java 系统属性 jute.maxbuffer 配置 ZooKeeper,以增加此限制。请注意,此配置对于 ZooKeeper 服务器和连接到服务器的所有客户端都是必需的,在指定的任何地方都必须相同。

jute.maxbuffer 设置为足以保存文件的大小。您可以通过向 JVM 提供 -Djute.maxbuffer=... 参数来实现此目的。

本文链接:https://www.f2er.com/786822.html

大家都在问