在 Apache Solr 中索引来自 CSV 文件的数据

Indexing data from CSV file in Apache Solr

我已按照下面给出的教程进行操作 link

Indexing csv file in solr

我已经在本地配置了 solr 服务器

但是当我尝试使用以下命令post csv 文件时

java -Dtype=text/csv -Durl=http://localhost:8983/solr/jcg/update -jar post.jar  books.csv

我在命令提示符下收到以下错误响应

任何人都可以帮助我为什么会收到错误响应

错误:

<response>
<lst name="responseHeader"><int name="status">400</int><int name="QTime">111</int></lst><lst name="error"><lst name="metadata"><str name="error-class">org.apache.solr.common.SolrException</str><str name="root-error-class">org.apache.solr.common.SolrException</str></lst><str name=
"msg">ERROR: [doc=0553573403] unknown field 'cat'</str><int name="code">400</int></lst>
</response>

您正在学习的教程很旧,所以如果您想继续学习教程,有两种选择:

  1. 您正在学习的教程没有在 jcg 集合中创建架构配置。在这种情况下,您应该将 managed-schema 文件修复为 jcg 配置,注意按照教程中的建议添加以下字段,然后重新加载配置(或重新启动 Solr)。此时 "Indexing the Data" 步骤应该可以正常工作。
 <uniqueKey>id</uniqueKey>
 <!-- Fields added for books.csv load-->
 <field name="cat" type="text_general" indexed="true" stored="true"/>
 <field name="name" type="text_general" indexed="true" stored="true"/>
 <field name="price" type="tdouble" indexed="true" stored="true"/>
 <field name="inStock" type="boolean" indexed="true" stored="true"/>
 <field name="author" type="text_general" indexed="true" stored="true"/>
  1. 您已正确添加架构和字段但未重新加载配置,但未重新加载集合。所以只需重新加载配置(或重新启动 Solr)并继续教程。

另一方面,如果您使用的是早期版本的 Solr (6.4),我建议删除 jcg 集合并重新创建它:

bin/solr delete -c jcg
bin/solr create -c jcg -d ./server/solr/configsets/sample_techproducts_configs