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.marahr...@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

Reply via email to