搜索多个集合

时间:2016-08-29 13:27:17

标签: solr solrcloud

我们正尝试使用以下网址搜索隐藏集合

http://localhost:8983/solr/Front/select?&q=hardware&wt=json&collection=Hidden

这导致QueryComponent.mergeIds错误,如下面的跟踪日志中所示。 直接查询隐藏集合,返回预期结果。

Front集合的/ select处理程序具有以下默认配置。

   <lst name="defaults">
   <str name="echoParams">explicit</str>
   <int name="rows">10</int>
   <str name="qf">text</str>
   <bool name="preferLocalShards">false</bool>  

我已尝试搜索mergeIds相关错误但无法找到解决方案。 任何建议都会受到欢迎。

跟踪记录

  

跟踪&#34;:&#34;显示java.lang.NullPointerException \ r \ n \达   org.apache.solr.handler.component.QueryComponent.mergeIds(QueryComponent.java:1115个)\ r \ n \达   org.apache.solr.handler.component.QueryComponent.handleRegularResponses(QueryComponent.java:759个)\ r \ n \达   org.apache.solr.handler.component.QueryComponent.handleResponses(QueryComponent.java:738个)\ r \ n \达   org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:426个)\ r \ n \达   org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:156个)\ r \ n \达   org.apache.solr.core.SolrCore.execute(SolrCore.java:2036个)\ r \ n \达   org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:657个)\ r \ n \达   org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:464个)\ r \ n \达   org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:257个)\ r \ n \达   org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:208个)\ r \ n \达   org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1668)\ r \ n \达   org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581个)\ r \ n \达   org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143个)\ r \ n \达   org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548个)\ r \ n \达   org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226个)\ r \ n \达   org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1160个)\ r \ n \达   org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511个)\ r \ n \达   org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185个)\ r \ n \达   org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1092个)\ r \ n \达   org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141个)\ r \ n \达   org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213个)\ r \ n \达   org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119个)\ r \ n \达   org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134个)\ r \ n \达   org.eclipse.jetty.server.Server.handle(Server.java:518个)\ r \ n \达   org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308个)\ r \ n \达   org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244个)\ r \ n \达   org.eclipse.jetty.io.AbstractConnection $ ReadCallback.succeeded(AbstractConnection.java:273)\ r \ n \达   org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95个)\ r \ n \达   org.eclipse.jetty.io.SelectChannelEndPoint $ 2.run(SelectChannelEndPoint.java:93)\ r \ n \达   org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:246个)\ r \ n \达   org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:156个)\ r \ n \达   org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654个)\ r \ n \达   org.eclipse.jetty.util.thread.QueuedThreadPool $ 3.run(QueuedThreadPool.java:572)\ r \ n \达   java.lang.Thread.run(未知来源)\ r \ n&#34;,

1 个答案:

答案 0 :(得分:0)

您不能像之前尝试过的那样搜索不同的集合。每个集合都有不同的配置文件。所以你的FRONT集合有/ select处理程序可以只从FRONT集合请求并获得结果,而不是来自Hidden。

如果您想使用其他集合索引的结果,则应使用交叉连接。

检查此link