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)
Ответы
Ответ 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]()