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 "Croci Francesco Luigi (ID SWS)" <fc...@id.ethz.ch> on 2014/04/11 15:47:50 UTC
Search a list of words and returned order
When I search for a list of words, per default Solr uses the OR operator.
In my case I index (pdfs) files. How/what can I do so that when I search the index for a list of words, I get the list of documents ordered first by the ones that have all the words in them?
Thank you
Francesco
Re: Search a list of words and returned order
Posted by Furkan KAMACI <fu...@gmail.com>.
Hi;
The documents with more words that matched the query will be higher in the
result list than those that have fewer words that matched the query. If you
want to have documents that have all th equery words in their fields at the
top of the results list you can try that:
Define a query with a mm of 1 and define a boost query with the help of
dereferencing as like:
{!edismaxqf=$boostQueryQf mm=100% v=$mainQuery}"^100000
You can check the Apache Solr CookBook page 296. If you have any problems I
can help you.
Thanks;
Furkan KAMACI
2014-04-11 19:08 GMT+03:00 Jack Krupansky <ja...@basetechnology.com>:
> Generally, the documents containing more of the terms should score higher
> and be returned first, but "relevancy" for some terms can skew that
> ordering, to some degree. What specific use cases are failing for you?
>
> You can always add an additional optional subquery which is the AND of all
> terms and has a significant boost:
>
> q=see spot run (+see +spot +run)^10
>
> -- Jack Krupansky
>
> -----Original Message----- From: Croci Francesco Luigi (ID SWS)
> Sent: Friday, April 11, 2014 9:47 AM
> To: 'solr-user@lucene.apache.org'
> Subject: Search a list of words and returned order
>
>
> When I search for a list of words, per default Solr uses the OR operator.
>
> In my case I index (pdfs) files. How/what can I do so that when I search
> the index for a list of words, I get the list of documents ordered first by
> the ones that have all the words in them?
>
> Thank you
> Francesco
>
Re: Search a list of words and returned order
Posted by Jack Krupansky <ja...@basetechnology.com>.
Generally, the documents containing more of the terms should score higher
and be returned first, but "relevancy" for some terms can skew that
ordering, to some degree. What specific use cases are failing for you?
You can always add an additional optional subquery which is the AND of all
terms and has a significant boost:
q=see spot run (+see +spot +run)^10
-- Jack Krupansky
-----Original Message-----
From: Croci Francesco Luigi (ID SWS)
Sent: Friday, April 11, 2014 9:47 AM
To: 'solr-user@lucene.apache.org'
Subject: Search a list of words and returned order
When I search for a list of words, per default Solr uses the OR operator.
In my case I index (pdfs) files. How/what can I do so that when I search the
index for a list of words, I get the list of documents ordered first by the
ones that have all the words in them?
Thank you
Francesco