Solr Ping查询导致异常:未定义的字段文本

时间:2012-09-10 11:20:03

标签: search solr

我试图在我的服务器上做一些工作,但遇到问题。当我尝试通过管理面板ping服务器时,我收到此错误,我认为这可能导致问题:

  

服务器遇到内部错误(Ping查询导致异常:   undefined field text org.apache.solr.common.SolrException:Ping查询   导致异常:未定义的字段文本   org.apache.solr.handler.PingRequestHandler.handleRequestBody(PingRequestHandler.java:76)   在   org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)   在org.apache.solr.core.SolrCore.execute(SolrCore.java:1376)at   org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:365)   在   org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:260)   在   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)   在

任何人都可以给我一些关于可能出错的指导吗?我正在使用Solr 3.6。我认为它可能与schema.xml中定义的“文本”有关?

这是我目前的架构:https://gist.github.com/3689621

非常感谢任何帮助。

詹姆斯

2 个答案:

答案 0 :(得分:14)

根据错误,我猜测/ admin / ping requestHandler中定义的查询正在搜索名为text的字段,您在模式中没有定义该字段。

这是一个典型的ping requestHandler部分

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

请注意<str name="df">text<str>设置的方式。这是ping将执行搜索的默认字段。您应该根据您的架构将其更改为架构中定义的字段,可能是titledescription

答案 1 :(得分:2)

在schema.xml中添加此行

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