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.