在云模式下使用带有Solr(版本7.3.0)的Apache OpenNLP时出错。 当我使用open nlp将字段类型添加到 managed-schema 时:
<fieldType name="text_opennlp" class="solr.TextField">
<analyzer>
<tokenizer class="solr.OpenNLPTokenizerFactory"
sentenceModel="opennlp/en-sent.bin"
tokenizerModel="opennlp/en-token.bin"
/>
</analyzer>
</fieldType>
<field name="content" type="text_opennlp" indexed="true" termOffsets="true" stored="true" termPayloads="true" termPositions="true" docValues="false" termVectors="true" multiValued="true" required="true"/>
我有以下错误:
test_collection_shard1_replica_n1:org.apache.solr.common.SolrException:org.apache.solr.common.SolrException:无法加载核心test_collection_shard1_replica_n1的conf:无法加载架构managed-schema:org.apache.solr.core。 SolrResourceNotFoundException:在类路径或'/ configs / _default'中找不到资源'opennlp / en-sent.bin',cwd = D:\ utils \ solr-7.3.0-7 \ solr-7.3.0-7 \ server请查看您的日志以获取更多信息
我从https://builds.apache.org/job/Solr-Artifacts-7.3/lastSuccessfulBuild/artifact/solr/package/
下载了solr var 7.3.0-7我尝试将模型文件放到:D:\utils\solr-7.3.0-7\solr-7.3.0-7\server
但它没有帮助。
此处您是我的相关问题:Can not apply patch LUCENE-2899.patch to SOLR on Windows
也许我需要将模型文件放在其他地方?
答案 0 :(得分:0)
您需要将这些文件("en-sent.bin"
和另一个文件)放入core的conf目录中。
即D:\utils\solr-7.3.0-7\solr-7.3.0-7\server\{core_name}\conf
。
然后直接使用文件。以下应该是xml配置。
<tokenizer class="solr.OpenNLPTokenizerFactory"
sentenceModel="en-sent.bin"
tokenizerModel="en-token.bin"
/>