solr - Solr 缺少必需的 uniqueKey 字段:id 或未知字段
问题描述
我正在使用 solr 8.1.1
创建核心/集合。然后在更新架构和 solrconfig 之后,我收到了这些错误。在向 schema.xml 添加 id 字段之前
这是我的 schema.xml 和 solrconfig.xml,我在做什么错?
架构.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<schema name="dict" version="1.6">
<field name="title" type="string" stored="true" indexed="true" required="true" multiValued="false"/>
<field name="_version_" type="long" indexed="true" stored="true"/>
<field name="id" type="string"/>
<copyField source="title" dest="id" />
<uniqueKey>title</uniqueKey>
<fieldType name="string" class="solr.StrField"/>
<fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
<fieldType name="int" class="solr.TrieIntField" precisionStep="0" positionIncrementGap="0"/>
</schema>
解决方案:
<?xml version="1.0" encoding="UTF-8"?>
<config>
<luceneMatchVersion>${tests.luceneMatchVersion:LUCENE_CURRENT}</luceneMatchVersion>
<updateHandler class="solr.DirectUpdateHandler2">
<updateLog>
<str name="dir">${solr.ulog.dir:}</str>
</updateLog>
<autoCommit>
<maxTime>${solr.autoCommit.maxTime:15000}</maxTime>
<openSearcher>false</openSearcher>
</autoCommit>
<autoSoftCommit>
<maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime>
</autoSoftCommit>
</updateHandler>
<requestHandler name="/select" class="solr.SearchHandler"></requestHandler>
<requestHandler name="/admin/ping" class="solr.PingRequestHandler">
<lst name="invariants">
<str name="qt">/select</str><!-- handler to delegate to -->
<str name="q">title:*</str>
</lst>
<str name="healthcheckFile">server-enabled.txt</str>
</requestHandler>
<requestHandler name="/update" class="solr.UpdateRequestHandler" />
<requestHandler name="/replication" class="solr.ReplicationHandler" startup="lazy" />
<requestHandler name="/get" class="solr.RealTimeGetHandler">
<lst name="defaults">
<str name="omitHeader">true</str>
</lst>
</config>
解决方案
阅读 solr 文档后 https://lucene.apache.org/solr/guide/6_6/schema-factory-definition-in-solrconfig.html添加在 solrconfig.xml 上,重新加载,它可以工作了,谢谢
<schemaFactory class="ClassicIndexSchemaFactory"/>
推荐阅读
- scala - 如何将多个主题的数据集中到一个地方进行处理?
- c - 如果链接到它们的 fd 用于其他目的,FILE * 是否继续工作?
- machine-learning - 德语语法的文本分析问题
- exceljs - 如何使用 exceljs 按名称获取单元格?
- javascript - 有没有办法在 IONIC 4 的初始屏幕上手动添加页脚(一些文本)?
- machine-learning - scikit-learn 对一些感知器参数的解释
- openssl - 如何在 openSSL-1.1.1 中访问 struct bio_st 的成员编号
- android - 嵌套滚动视图中的自动滚动不起作用
- odoo - 如何在 odoo 12 中隐藏应用程序菜单和 odoobot
- javascript - 为什么 Vue.js 允许推送到 prop 数组?