Nano Hash - криптовалюты, майнинг, программирование

Исключение Solr: ошибка неопределенного поля с переиндексацией

надеясь, что вы можете мне помочь. У меня проблема с приложением, которое я только начал поддерживать. Приложение использует SOLR для индексации и должно заполнять два ядра данными из базы данных.

Я продолжаю получать следующую ошибку при переиндексации:

22 августа 2013 г., 10:09:49 org.apache.solr.common.SolrException log

СЕРЬЕЗНЫЙ: org.apache.solr.common.SolrException: неопределенное поле: «editor_id»

    at org.apache.solr.schema.IndexSchema.getField(IndexSchema.java:965)

[... Трассировки стека ...]

    at java.lang.Thread.run(Thread.java:679)

Мой schema.xml для этого ядра:

<solrQueryParser defaultOperator="AND" />

<fields>

    <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false"/>
    <field name="name" type="text_nl" indexed="true" stored="false"/>
    <field name="platform" type="string" indexed="true" stored="false" multiValued="false"/>
    <field name="date" type="date" indexed="true" stored="false" multiValued="false"/>
    <field name="content" type="text_nl" indexed="true" stored="false"/>

    <field name="division_id" type="long" indexed="true" stored="false" multiValued="false"/>
    <field name="division" type="text_nl" indexed="true" stored="false" multiValued="false"/>

    <field name="subdivision_id" type="long" indexed="true" stored="false" multiValued="false"/>
    <field name="subdivision" type="text_nl" indexed="true" stored="false" multiValued="false"/>

    <field name="editor_id" type="long" indexed="true" stored="false" multiValued="false"/>
    <field name="editor" type="text_nl" indexed="true" stored="false" multiValued="false"/>

    <field name="status" type="text_nl" indexed="true" stored="false" multiValued="false"/>
    <field name="status_id" type="long" indexed="true" stored="false" multiValued="false"/>

    <field name="lines" type="text_nl" indexed="true" stored="false" multiValued="true"/>

    <field name="text" type="text_nl" indexed="true" stored="false" multiValued="true"/>

    <field name="_version_" type="long" indexed="true" stored="true"/>

    <field name="suggest_nl" type="text_nl_suggest" indexed="true" stored="true" multiValued="true"/>
    <copyField source="*" dest="suggest_nl"/>

</fields>

<uniqueKey>id</uniqueKey>

As you can see editor_id exists in the schema. In the database we're getting data from the table name's been renamed to editor_user_id. When I rename the schema.xml rule for editor_id to editor_user_id it still comes back with the above error, as if the schema.xml is irrelevant.

Я что-то упустил в том, как обновить схему, чтобы она соответствовала таблице базы данных?

Любые предложения о том, как избавиться от этой ошибки, будут высоко оценены, так как я немного нуб, когда дело доходит до настроек SOLR/LUCENE/TOMCAT.

Спасибо.

Редактировать:

Вот полная трассировка стека:

Вам необходимо перезапустить сервер solr (Tomcat/jetty), чтобы отразить любые изменения в файлах конфигурации solr (schema.xml, solrconfig.xml).

22.08.2013

  • Трассировка стека в редактировании. Я не получаю эту ошибку до тех пор, пока не начну переиндексировать ядро ​​​​«элементов». В схеме, как видите, editor_id упоминается как long. Когда я меняю это, например, на editor_user_id, трассировка стека остается прежней. 22.08.2013
  • Какой процесс вы используете для загрузки данных в Solr Index? DataImportHandler, пользовательский код и т. д. Можете ли вы показать соответствующие части этого процесса, поскольку кажется, что там требуется изменение, чтобы приспособиться к изменению имени поля вашей базы данных. 22.08.2013
  • удалось ли выяснить первопричину? 22.08.2013
  • Я перезапускал после каждого изменения до сих пор.. Не помогло. 19.06.2018

Ответы:


1

У вас может быть несколько файлов schema.xml в разных папках.

22.08.2013
  • Вы также можете увидеть активную схему в панели администратора, например localhost:8090/solr/#/webshop/ схема 22.08.2013

  • 2

    Тот, который вы фактически используете, должен быть указан в вашем solrconfig.xml или solr.xml разными способами. Посмотрите, есть ли у вас больше копий schema.xml, и в конечном итоге посмотрите на эти другие файлы, чтобы проверить наличие ссылки на него.

    Также проверьте, есть ли у вас среда master-slave, и в этом случае вам, возможно, придется вручную скопировать файл на главный и подчиненный серверы и/или указать, что его необходимо копировать во время репликации в файле solrconfig.xml.

    Не могли бы вы вставить всю трассировку стека, пожалуйста :) Вы получаете эту ошибку, когда пытаетесь запустить свой сервер?

    22.08.2013
  • 22 августа 2013 г., 11:47:52 Журнал org.apache.solr.common.SolrException СЕРЬЕЗНЫЙ: org.apache.solr.common.SolrException: неопределенное поле: «editor_id» в org.apache.solr.schema.IndexSchema.getField (IndexSchema.java:965) в org.apache.solr.schema.IndexSchema.getCopyFieldsList(IndexSchema.java:1077) в org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:274) в org.apache. solr.update.AddUpdateCommand.getLuceneDocument(AddUpdateCommand.java:73) в org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandler2.java:201) в org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory. java:69) в org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:51) в org.apache.solr.update.processor.DistributedUpdateProcessor.doLocalAdd(DistributedUpdateProcessor.java:455) в org.apache .solr.update.processor.DistributedUpdat eProcessor.versionAdd(DistributedUpdateProcessor.java:591) в org.apache.solr.update.processor.DistributedUpdateProcessor.processAdd(DistributedUpdateProcessor.java:350) в org.apache.solr.update.processor.LogUpdateProcessor.processAdd(LogUpdateProcessorFactory.java: 100) в org.apache.solr.handler.loader.XMLLoader.processUpdate(XMLLoader.java:246) в org.apache.solr.handler.loader.XMLLoader.load(XMLLoader.java:173) в org.apache.solr .handler.UpdateRequestHandler$1.load(UpdateRequestHandler.java:92) в org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:74) в org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java: 135) в org.apache.solr.core.SolrCore.execute(SolrCore.java:1816) в org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:448) в org.apache.solr.servlet.SolrDispatchFilter .doFilter(Солнце DispatchFilter.java:269) в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) в org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) в org.apache.catalina .core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) в org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) в org.apache.catalina.core. StandardHostValve.invoke(StandardHostValve.java:127) в org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) в org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) в org .apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) в org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) в org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process (Http11Protocol.java:602) в org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) в java.lang.Thread.run(Thread.java:679) 04.01.2016
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..