Ошибка при индексации содержимого из базы данных MySQL в Apache Solr - PullRequest
0 голосов
/ 25 января 2012

Когда я индексирую данные из базы данных MySQL на сервер Apache Solr, работающий под Tomcat6 через порт 8180, я получаю сообщение об ошибке 400 Bad Request.После изучения журналов сервера для tomcat6 появляется следующее сообщение об исключении:

INFO: {add=[(null)]} 0 1
Jan 25, 2012 3:37:46 AM org.apache.solr.common.SolrException log
SEVERE: org.apache.solr.common.SolrException: ERROR: [doc=null] unknown field 'job_id'
        at org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:331)
        at org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:60)
        at org.apache.solr.update.processor.LogUpdateProcessor.processAdd(LogUpdateProcessorFactory.java:115)
        at org.apache.solr.handler.XMLLoader.processUpdate(XMLLoader.java:158)
        at org.apache.solr.handler.XMLLoader.load(XMLLoader.java:79)
        at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:58)
        at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
        at org.apache.solr.core.SolrCore.execute(SolrCore.java:1372)
        at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:356)
        at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:662)

Скажите, пожалуйста, какое-нибудь решение этого вопроса ...

Спасибо

Ответы [ 4 ]

4 голосов
/ 25 января 2012

Ваш индекс определяется файлом schema.xml.Там появятся все поля, которые вы хотите проиндексировать.Однако вы пытаетесь добавить документ Solr с полем с именем job_id.Это поле НЕ В ВАШЕЙ СХЕМЕ.Добавьте это поле или удалите его из документа.

2 голосов
/ 25 января 2012

Да, либо определите схему, либо используйте ElasticSearch:)

2 голосов
/ 25 января 2012

Посмотрите вокруг "job_id", это не существует там, где вы думаете, что это / должно быть.

ERROR: [doc=null] unknown field 'job_id' at
0 голосов
/ 02 апреля 2013

Вы должны посмотреть на dynamicField в schema.xml. Смотрите пример на http://wiki.apache.org/solr/SchemaXml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...