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)