You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Oliver Marahrens <o....@tu-harburg.de> on 2011/01/13 10:00:14 UTC
Dismax, Sharding and Elevation
Hi all,
I have discovered a strange thing with Dismax and Elevation and hope
someone can enlighten me what to do.
Whenever I search for something using the elevation Request Handler the
hits are from a normal Lucene query (with elevated results if the search
term was defined in elevation.xml). Elevation works, but only with dismax.
Whenever I search using the dismax handler with elevated terms,
elevation only works if I turned off sharding. Using shards results in
an exception (IndexOutOfBoundsException). Complete message is listed below.
Is this a bug or did I miss anything to switch in configuration? I also
tried to add
<str name="defType">dismax</str>
to elevation request handler in solrconfig.xml, but that didn't help.
The elevator component is integrated into the dismax search handler in
<arr name="last-components">.
Any hints appreciated!
Thank you in advance
Oliver
My Solr-configuration for elevation request handler and elevation search
component look like that:
<searchComponent name="elevator" class="solr.QueryElevationComponent" >
<!-- pick a fieldType to analyze queries -->
<str name="queryFieldType">text</str>
<str name="config-file">elevate.xml</str>
</searchComponent>
<requestHandler name="/elevate" class="solr.SearchHandler" startup="lazy">
<lst name="defaults">
<str name="echoParams">explicit</str>
</lst>
<arr name="last-components">
<str>elevator</str>
<str>debug</str>
</arr>
</requestHandler>
The complete exception message I get from searching with dismax,
elevation and sharding:
java.lang.IndexOutOfBoundsException: Index: 1, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at org.apache.solr.common.util.NamedList.getVal(NamedList.java:137)
at org.apache.solr.handler.component.ShardFieldSortedHitQueue$ShardComparator.sortVal(ShardDoc.java:195)
at org.apache.solr.handler.component.ShardFieldSortedHitQueue$2.compare(ShardDoc.java:233)
at org.apache.solr.handler.component.ShardFieldSortedHitQueue.lessThan(ShardDoc.java:134)
at org.apache.lucene.util.PriorityQueue.upHeap(PriorityQueue.java:270)
at org.apache.lucene.util.PriorityQueue.put(PriorityQueue.java:129)
at org.apache.lucene.util.PriorityQueue.insertWithOverflow(PriorityQueue.java:171)
at org.apache.lucene.util.PriorityQueue.insert(PriorityQueue.java:156)
at org.apache.solr.handler.component.QueryComponent.mergeIds(QueryComponent.java:445)
at org.apache.solr.handler.component.QueryComponent.handleResponses(QueryComponent.java:298)
at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:290)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1316)
at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1088)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
--
Oliver Marahrens
TU Hamburg-Harburg / Universitätsbibliothek / Digitale Dienste
Denickestr. 22
21071 Hamburg - Harburg
Tel. +49 (0)40 / 428 78 - 32 91
eMail o.marahrens@tu-harburg.de
--
GPG/PGP-Schlüssel:
http://www.tub.tu-harburg.de/keys/Oliver_Marahrens_pub.asc
--
Projekt DISCUS http://discus.tu-harburg.de
Projekt TUBdok http://doku.b.tu-harburg.de
Re: Dismax, Sharding and Elevation
Posted by Oliver Marahrens <o....@tu-harburg.de>.
Hi,
thank you for your reply, Grijesh. But Elevation in general works with
sharding - if I used the Standard Request Handler instead of Dismax. I
just wonder how (or if) it could work also with dismax. I think its not
a problem of distributed search, but one of dismax (perhaps combined
with distributed search).
Oliver
Grijesh.singh schrieb:
> As I seen the code for QueryElevationComponent ,there is no supports for
> Distributed Search i.e. query elevation does not works with shards.
>
> -----
> Grijesh
>
--
Oliver Marahrens
TU Hamburg-Harburg / Universitätsbibliothek / Digitale Dienste
Denickestr. 22
21071 Hamburg - Harburg
Tel. +49 (0)40 / 428 78 - 32 91
eMail o.marahrens@tu-harburg.de
--
GPG/PGP-Schlüssel:
http://www.tub.tu-harburg.de/keys/Oliver_Marahrens_pub.asc
--
Projekt DISCUS http://discus.tu-harburg.de
Projekt TUBdok http://doku.b.tu-harburg.de
Re: Dismax, Sharding and Elevation
Posted by "Grijesh.singh" <pi...@gmail.com>.
As I seen the code for QueryElevationComponent ,there is no supports for
Distributed Search i.e. query elevation does not works with shards.
-----
Grijesh
--
View this message in context: http://lucene.472066.n3.nabble.com/Dismax-Sharding-and-Elevation-tp2247156p2247522.html
Sent from the Solr - User mailing list archive at Nabble.com.