2013-07-25 5 views
5

Ich sende eine Anfrage an SOLR, die genau ein Dokument zurückgibt. Es ist eine "id: some_doc_id" Suche. Hier sind die Parameter wie in der Reaktion gezeigt:EarlyTerminatingCollectorException in MLT Komponente von SOLR 4.4

params: { 
mlt.mindf: "1", 
mlt.count: "5", 
mlt.fl: "text", 
fl: "id,,application_id,... project_start,project_end,project_title,score", 
start: "0", 
q: "id:some_doc_id", 
mlt.mintf: "1", 
mlt: "true", 
wt: "json", 
rows: "1" 
} 

Der reponse Schlüssel enthält das Dokument ich erwartet habe, aber ich habe auch einen Fehler, der in der MLT-Komponente zu passieren scheint. Hier ist der Stack-Trace in der Antwort zur Verfügung gestellt:

org.apache.solr.search.EarlyTerminatingCollectorException 
at org.apache.solr.search.EarlyTerminatingCollector.collect(EarlyTerminatingCollector.java:62) 
at org.apache.lucene.search.BooleanScorer2.score(BooleanScorer2.java:289) 
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:624) 
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:297) 
at org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1494) 
at org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1363) 
at org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:474) 
at org.apache.solr.search.SolrIndexSearcher.getDocList(SolrIndexSearcher.java:1226) 
at org.apache.solr.handler.MoreLikeThisHandler$MoreLikeThisHelper.getMoreLikeThis(MoreLikeThisHandler.java:365) 
at org.apache.solr.handler.component.MoreLikeThisComponent.getMoreLikeThese(MoreLikeThisComponent.java:356) 
at org.apache.solr.handler.component.MoreLikeThisComponent.process(MoreLikeThisComponent.java:113) 
at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:208) 
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135) 
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1904) 
at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:659) 
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:362) 
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:158) 
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419) 
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455) 
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) 
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557) 
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) 
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075) 
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384) 
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) 
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009) 
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) 
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255) 
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154) 
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) 
at org.eclipse.jetty.server.Server.handle(Server.java:368) 
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) 
at org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53) 
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:942) 
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1004) 
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640) 
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) 
at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72) 
at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264) 
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) 
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) 
at java.lang.Thread.run(Thread.java:724org.apache.solr.search.EarlyTerminatingCollectorException 
at org.apache.solr.search.EarlyTerminatingCollector.collect(EarlyTerminatingCollector.java:62) 
at org.apache.lucene.search.BooleanScorer2.score(BooleanScorer2.java:289) 
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:624) 
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:297) 
at org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1494) 
at org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1363) 
at org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:474) 
at org.apache.solr.search.SolrIndexSearcher.getDocList(SolrIndexSearcher.java:1226) 
at org.apache.solr.handler.MoreLikeThisHandler$MoreLikeThisHelper.getMoreLikeThis(MoreLikeThisHandler.java:365) 
at org.apache.solr.handler.component.MoreLikeThisComponent.getMoreLikeThese(MoreLikeThisComponent.java:356) 
at org.apache.solr.handler.component.MoreLikeThisComponent.process(MoreLikeThisComponent.java:113) 
at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:208) 
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135) 
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1904) 
at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:659) 
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:362) 
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:158) 
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419) 
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455) 
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) 
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557) 
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) 
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075) 
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384) 
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) 
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009) 
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) 
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255) 
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154) 
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) 
at org.eclipse.jetty.server.Server.handle(Server.java:368) 
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) 
at org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53) 
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:942) 
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1004) 
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640) 
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) 
at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72) 
at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264) 
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) 
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) 
at java.lang.Thread.run(Thread.java:724)) 

Mein Code hat gut funktioniert, bevor das Update auf SOLR 4.4. Irgendein Hinweis, was los ist und wie man es löst?

+0

Ich erhalte einen ähnlichen Fehler, aber habe noch keine Antwort gefunden. –

+1

Das gleiche Problem hier, ist dies ein Fehler in der 4.4-Code, sollte etwas diese Ausnahme fangen und behandeln? – Hedlok

+2

https://issues.apache.org/jira/browse/SOLR-5125 - Fehler gemeldet – Hedlok

Antwort

0

von EarlyTerminatingCollector Geworfen, wenn die maximalen die Torreigen/Sammelprozess frühzeitig abzubrechen, wenn die angegebene maximale Anzahl von Dokumenten gesammelt wurde.

Diese Beschreibung klingt nicht wie eine echte Ausnahme und eher wie eine Art und Weise das Sammeln von Dokumenten abzubrechen.

@Override  
public void collect(int doc) throws IOException {  
    delegate.collect(doc);  
    lastDocId = doc;   
    numCollected++;  
    if(numCollected==maxDocsToCollect) {  
     throw new EarlyTerminatingCollectorException(numCollected, lastDocId);  
    }  
}