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 siping liu <si...@hotmail.com> on 2009/06/16 23:26:37 UTC

DisMaxRequestHandler usage

Hi,

I have this standard query:

q=(field1:hello OR field2:hello) AND (field3:world)

 

Can I use dismax handler for this (applying the same search term on field1 and field2, but keep field3 with something separate)? If it can be done, what's the advantage of doing it this way over using the standard query?

 

thanks.

_________________________________________________________________
Microsoft brings you a new way to search the web.  Try  Bing™ now
http://www.bing.com?form=MFEHPG&publ=WLHMTAG&crea=TEXT_MFEHPG_Core_tagline_try bing_1x1

Re: DisMaxRequestHandler usage

Posted by Chris Hostetter <ho...@fucit.org>.
: Date: Tue, 16 Jun 2009 21:26:37 +0000
: From: siping liu
: Subject: DisMaxRequestHandler usage

: q=(field1:hello OR field2:hello) AND (field3:world)
: 
: Can I use dismax handler for this (applying the same search term on 
: field1 and field2, but keep field3 with something separate)? If it can 
: be done, what's the advantage of doing it this way over using the 
: standard query?

The point of dismax is to make your syntax simpler, in exchange for more 
configuration.  you can't produce that exact query using dismax, but lets 
change your orriginal query slightly first...

   fq=field3:world  &  q=(field1:hello OR field2:hello)

...the set of documents returned will be the same as your query, but the 
scores will only be based on the word "hello" against field1 and field2 -- 
the "field3:world" clause will only be used to filter (restrict) 
which documents are allowed.

Assuming that change regarding field3:world is okay with you, then the 
main reason you might want to use dismax for a query like this is that the 
same query can be expressed like this...

   fq=field3:world   &   qf=field1 field2  &  q=hello

...now you've moved the "hello" part into it's own param that can come 
from your users, while the "field1 field2" part can come from somewhere in 
your code, and users never have to type it, or even know it's there.  you 
can even default it in the solrconfig.xml, and change it all you want 
without them ever knowing about it.




-Hoss


Re: NPE while sorting

Posted by Yonik Seeley <ys...@gmail.com>.
Looks like this is the local-solr patch, which isn't part of Solr yet?

-Yonik
http://www.lucidimagination.com

On Tue, Jun 16, 2009 at 6:15 PM, Nirkhe, Chandra<Ch...@servicelive.com> wrote:
> Hi,
> Solr is throwing Null pointer exception when soring on a field.
>
>
> http://localhost:9080/solr/select?version=2.2&q=*:*&qt=geo&lat=41.883784
> &long=-87.637668&radius=25&rows=100&sort=geo_distance%20top
>
>
> Using 16-June build. Any pointers ??
>
>
> HTTP Status 500 - null java.lang.NullPointerException at
> org.apache.lucene.search.SortField.getComparator(SortField.java:483) at
> org.apache.lucene.search.FieldValueHitQueue$OneComparatorFieldValueHitQu
> eue.<init>(FieldValueHitQueue.java:80) at
> org.apache.lucene.search.FieldValueHitQueue.create(FieldValueHitQueue.ja
> va:190) at
> org.apache.lucene.search.TopFieldCollector.create(TopFieldCollector.java
> :851) at
> org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.
> java:972) at
> org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.j
> ava:880) at
> org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:3
> 37) at
> org.apache.solr.search.SolrIndexSearcher.getDocList(SolrIndexSearcher.ja
> va:1149) at
> com.pjaol.search.solr.component.LocalSolrQueryComponent.process(LocalSol
> rQueryComponent.java:286) at
> org.apache.solr.handler.component.SearchHandler.handleRequestBody(Search
> Handler.java:195) at
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerB
> ase.java:131) at
> org.apache.solr.core.SolrCore.execute(SolrCore.java:1328) at
> org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.ja
> va:341) at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.j
> ava:244) at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
> tionFilterChain.java:215) at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
> erChain.java:188) at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
> e.java:213) at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
> e.java:174) at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
> :127) at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
> :117) at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
> java:108) at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:1
> 51) at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:87
> 4) at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.proc
> essConnection(Http11BaseProtocol.java:665) at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint
> .java:528) at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollow
> erWorkerThread.java:81) at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
> .java:689) at java.lang.Thread.run(Thread.java:595)
>

NPE while sorting

Posted by "Nirkhe, Chandra" <Ch...@servicelive.com>.
Hi,
Solr is throwing Null pointer exception when soring on a field.


http://localhost:9080/solr/select?version=2.2&q=*:*&qt=geo&lat=41.883784
&long=-87.637668&radius=25&rows=100&sort=geo_distance%20top


Using 16-June build. Any pointers ??


HTTP Status 500 - null java.lang.NullPointerException at
org.apache.lucene.search.SortField.getComparator(SortField.java:483) at
org.apache.lucene.search.FieldValueHitQueue$OneComparatorFieldValueHitQu
eue.<init>(FieldValueHitQueue.java:80) at
org.apache.lucene.search.FieldValueHitQueue.create(FieldValueHitQueue.ja
va:190) at
org.apache.lucene.search.TopFieldCollector.create(TopFieldCollector.java
:851) at
org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.
java:972) at
org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.j
ava:880) at
org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:3
37) at
org.apache.solr.search.SolrIndexSearcher.getDocList(SolrIndexSearcher.ja
va:1149) at
com.pjaol.search.solr.component.LocalSolrQueryComponent.process(LocalSol
rQueryComponent.java:286) at
org.apache.solr.handler.component.SearchHandler.handleRequestBody(Search
Handler.java:195) at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerB
ase.java:131) at
org.apache.solr.core.SolrCore.execute(SolrCore.java:1328) at
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.ja
va:341) at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.j
ava:244) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:215) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:188) at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:213) at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:174) at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:127) at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:117) at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:108) at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:1
51) at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:87
4) at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.proc
essConnection(Http11BaseProtocol.java:665) at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint
.java:528) at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollow
erWorkerThread.java:81) at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:689) at java.lang.Thread.run(Thread.java:595)