Ich bin neu bei Solr Apache und ich versuche, eine Suchmaschine basierend auf dieser Plattform zu bauen. Ich habe alle Dokumente hochgeladen, aber es gibt mir weiterhin einen solchen Fehler, ich weiß nicht, was los ist. Dieser Fehler bringt andere Fehler wie CoreContainer, der Core-Dateien nicht erstellen kann und ich bin nicht in der Lage, eine Abfrage-Suche durchzuführen. Kannst du mir helfen?Update-Protokoll kann nicht verwendet werden: _version_fiels muss im Schema existieren
org.apache.solr.common.SolrException: _version_ field must exist in schema and be searchable (indexed or docValues) and retrievable(stored or docValues) and not multiValued (_version_ does not exist)
at org.apache.solr.update.VersionInfo.getAndCheckVersionField(VersionInfo.java:68)
at org.apache.solr.update.VersionInfo.<init>(VersionInfo.java:94)
at org.apache.solr.update.UpdateLog.init(UpdateLog.java:308)
at org.apache.solr.update.UpdateHandler.<init>(UpdateHandler.java:137)
at org.apache.solr.update.UpdateHandler.<init>(UpdateHandler.java:94)
at org.apache.solr.update.DirectUpdateHandler2.<init>(DirectUpdateHandler2.java:102)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at org.apache.solr.core.SolrCore.createInstance(SolrCore.java:706)
at org.apache.solr.core.SolrCore.createUpdateHandler(SolrCore.java:768)
at org.apache.solr.core.SolrCore.initUpdateHandler(SolrCore.java:1009)
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:874)
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:776)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:842)
at org.apache.solr.core.CoreContainer.lambda$load$0(CoreContainer.java:498)
at org.apache.solr.core.CoreContainer$$Lambda$24/135640095.call(Unknown Source)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor.lambda$execute$0(ExecutorUtil.java:229)
at org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor$$Lambda$25/328827614.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Das sind mein Feld Build in schema.xml
<field name="_version_" type="long" indexed="true" stored="true"/>
<field name="id" type="string" indexed="true" stored="true" required="true"/>
<field name="title" type="string" indexed="true" stored="true"/>
<field name="revision" type="int" indexed="true" stored="false"/>
<field name="user" type="string" indexed="true" stored="false"/>
<field name="userId" type="int" indexed="true" stored="false"/>
<field name="text" type="text_en" indexed="true" stored="true"/>
<uniqueKey> id </uniqueKey>
Haben Sie den Kern neu geladen, nachdem das Schema zu ändern? War das Feld vorhanden, als Sie die Dokumente indiziert haben? Ihre schema.xml sollte auch mehr enthalten, als Sie definiert haben, aber ich denke, Sie haben Teile weggelassen. Stellen Sie sicher, dass Sie '_version_' auch auf' multiValued = "false" 'setzen und verwenden Sie die korrekte Schema-Version (sehen Sie sich das Beispiel für Ihre Solr-Version an) – MatsLindh