Подтвердить что ты не робот

Solr "Undefined текст поля"

Недавно я обновил свой экземпляр solr с 1,4 до 3,6. Тем не менее, я теперь, кажется, получаю сообщение "undefined текст поля" в моих журналах, когда я обновляю свой индекс.

У меня есть текстовые поля в моей схеме (которая действительна с версии 1.4), но никогда ранее не была объявлена ​​как тип поля. Это изменилось в 3.6?

Моя схема здесь → http://pastebin.com/KrCVab0U

SEVERE: org.apache.solr.common.SolrException: undefined field text
        at org.apache.solr.schema.IndexSchema.getDynamicFieldType(IndexSchema.java:1330)
        at org.apache.solr.schema.IndexSchema$SolrQueryAnalyzer.getAnalyzer(IndexSchema.java:408)
        at org.apache.solr.schema.IndexSchema$SolrIndexAnalyzer.reusableTokenStream(IndexSchema.java:383)
        at org.apache.lucene.queryParser.QueryParser.getFieldQuery(QueryParser.java:574)
        at org.apache.solr.search.SolrQueryParser.getFieldQuery(SolrQueryParser.java:206)
        at org.apache.lucene.queryParser.QueryParser.Term(QueryParser.java:1429)
        at org.apache.lucene.queryParser.QueryParser.Clause(QueryParser.java:1317)
        at org.apache.lucene.queryParser.QueryParser.Query(QueryParser.java:1245)
        at org.apache.lucene.queryParser.QueryParser.TopLevelQuery(QueryParser.java:1234)
        at org.apache.lucene.queryParser.QueryParser.parse(QueryParser.java:206)
        at org.apache.solr.search.LuceneQParser.parse(LuceneQParserPlugin.java:79)
        at org.apache.solr.search.QParser.getQuery(QParser.java:143)
        at org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:105)
        at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:165)
        at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
        at org.apache.solr.core.SolrCore.execute(SolrCore.java:1376)
        at org.apache.solr.handler.PingRequestHandler.handleRequestBody(PingRequestHandler.java:67)
        at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
        at org.apache.solr.core.SolrCore.execute(SolrCore.java:1376)
        at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:365)
        at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:260)
        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:127)
        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:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:679)
4b9b3361

Ответ 1

Это не о типе поля "текст" . Это поле называется "текст" .

Вы изменили поле по умолчанию в config на "search_text". Попробуйте переименовать все ссылки на "search_text" в "text". Если это исправляет проблему, то вы знаете, где-то в конфигурации, вы имеете в виду поле "текст" , возможно, в файле solrconfig.xml, как предложено в Solr Query - ошибка HTTP 404 undefined текст поля

Надеюсь, что это поможет.

Ответ 2

У меня есть это в моем файле solrconfig.xml.

<requestHandler name="/admin/ping" class="solr.PingRequestHandler">
 <lst name="invariants">
  <str name="q">solrpingquery</str>
 </lst>
 <lst name="defaults">      
  <str name="echoParams">all</str>
  </lst>
</requestHandler>

Если вы не добавили это в schema.xml, добавьте его

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

Это решит вашу проблему.

Спасибо

Ответ 3

Это случилось со мной сегодня. Если вы выполняете запрос при возникновении ошибки, вам нужно дважды указать данные в запросе следующим образом:

путь к файлу: "запрашиваемые данные"

Ответ 4

Я получил ту же ошибку, когда я обработал часть запроса fq. После дезинфекции, solr получил

...&fq=type\:Product&...

Хотя у меня есть поле с именем type, ошибка говорила "текст поля Undefined".

Когда я удалил санитацию, запрос был в порядке:

...&fq=type:Product&...

Причиной запутанного сообщения об ошибке было в файле solrconfig.xml:

<requestHandler name="/select" class="solr.SearchHandler">
  <lst name="defaults">
    <str name="echoParams">explicit</str>
    <int name="rows">10</int>
    <str name="df">text</str>
  </lst>
</requestHandler>

Ответ 5

в интерфейсе solr admin вы можете увидеть текущую рабочую схему, тогда вы можете быть уверены, что находитесь на правильном пути. ниже pictrues ilistruates

4.10.2 и более поздняя версия (предположим)

solr.4.10.2

более низкие версии, чем 4.10.2. вы должны использовать меню Scheme слева.

solr.4.10.2