Solr отсутствует обязательное поле uniqueKey: поле id или неизвестное поле - PullRequest
0 голосов
/ 08 ноября 2019

Я использую solr 8.1.1

Создано ядро ​​/ коллекция. Затем после обновления схемы и solrconfig я получаю эти ошибки. Перед добавлением поля id в schema.xml

enter image description here

После добавления поля id в schema.xml enter image description here

Вот мои schema.xml & solrconfig.xml, что я делаю не так?

schema.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>

solrconfig:

<?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>

1 Ответ

0 голосов
/ 11 ноября 2019

После прочтения документации solr https://lucene.apache.org/solr/guide/6_6/schema-factory-definition-in-solrconfig.html Добавлен в solrconfig.xml, перезагружен и работает благодаря

<schemaFactory class="ClassicIndexSchemaFactory"/>
...