将solr 4更新为solr 8时,在运行索引以索引solr 8云时遇到了以下错误提示。
{
"responseHeader":{
"rf":1,
"status":400,
"QTime":118},
"error":{
"metadata":[
"error-class","org.apache.solr.common.SolrException",
"root-error-class","org.apache.solr.common.SolrException"],
"msg":"ERROR: [doc=16919!1379235912] unknown field 'language'",
"code":400}}
我运行网址
curl -s 'http://localhost:8983/solr/currnet1/update/csv?commit=true&separator=%09&escape=%5c&header=false&+fieldnames=id,doc_id' -H 'Content-type:text/plain; charset=utf-8' --data-binary @/Users/smukena/Projet/servers/solr-8.1.1/tsv/sampleFile.tsv
我的sampleFile.tsv只有一行,两列
我的schema.xml和solrconfig.xml中根本没有领域语言。
我在做什么错
答案 0 :(得分:0)
要解决此问题,我必须在solrconfig.xml中删除处理器 LangDetectLanguageIdentifierUpdateProcessorFactory 。
此处理器增加了在建立索引之前检测文档语言然后对分析等做出适当决定的功能。
通过在solrconfig.xml中进行设置,
<processor class="org.apache.solr.update.processor.TikaLanguageIdentifierUpdateProcessorFactory">
<lst name="defaults">
<str name="langid.fl">title,subject,text,keywords</str>
<str name="langid.langField">language</str>
</lst>
</processor>
solr希望在我没有的schema.xml字段中定义字段语言。
因此,要么在solrconfig.xml中删除该处理器,要么在schema.xml中添加language字段
参考:https://cwiki.apache.org/confluence/display/solr/LanguageDetection