What are the other parts of your queries like? And why the need for
the separate instantiations of the QueryParser?
You might try something like: good^2 badA^0.1 badB^0.3 or some other
bigger separation of the boost value between the good terms and the
bad terms.
The other thing to do is use the explain() method to see how the
individual terms are being scored.
-Grant
On Feb 1, 2008, at 8:41 AM, prabin meitei wrote:
Hi Grant,
I have an index for articles containing fields 'id' , 'body' and
others
BooleanQuery query = new BooleanQuery;
queryParser = new QueryParser("body", new StandardAnalyzer());
query.add(queryParser.parse("keywords"), Occur.MUST);
if i query at this level then i get all the articles I want. But I
want to
de-boost some of them if they matches another term
.
BooleanQuery q1 = new BooleanQuery;
BooleanQuery q2 = new BooleanQuery;
queryParser = new QueryParser("body", new StandardAnalyzer());
q1.add(queryParser.parse("body"), Occur.SHOULD);
queryParser = new QueryParser("some field", new StandardAnalyzer());
q2.add(queryParser.parse("keywords2"), Occur.SHOULD);
q1.setBoost(0.1);
q2.setBoost(0.3);
query.add(q1, Occur.SHOULD);
query.add(q2, Occur.SHOULD);
### what I want here is that any document matching the queries q1
and q2
will be boosted negatively(reducing their score but *not eliminating
from
the search result*)
# puting values less than 1.0 (as I tried doing) did not help
(lucene seems
to assume it as 1)
# if there was only one query then I could do it as I wrote in my
last mail.
But the problem is when there a multiple queries to reduce the score
by
multiple levels.
or am I going in a wrong direction?? It wud be nice if you have some
suggestion.
Prabin
On Feb 1, 2008 6:32 PM, Grant Ingersoll <[EMAIL PROTECTED]> wrote:
Hi Prabin,
Can you give an example of what you would like a query to look like?
Lucene doesn't do negative boosts (ok, w/ a patch, I think it can,
but...) At any rate, the boosts are relative, so perhaps you just
lower the boost to be very small for the "bad" terms and raise it
higher for the good terms.
What is the end goal of what you are trying to find? Perhaps there
are some alternatives.
-Grant
On Jan 31, 2008, at 2:49 PM, prabin meitei wrote:
Hi, I want to give different levels of negative boost (reduce the
score) to
documents for different matching queries. How it can be done??
Googling I
found out this link
http://wiki.apache.org/jakarta-lucene/CommunityContributions but
it just
gives the option of giving single level negative boost.
is there any way of having multiple matching queries and give them
different
negative boosts???
Regards,
Prabin
--------------------------
Grant Ingersoll
http://lucene.grantingersoll.com
http://www.lucenebootcamp.com
Lucene Helpful Hints:
http://wiki.apache.org/lucene-java/BasicsOfPerformance
http://wiki.apache.org/lucene-java/LuceneFAQ
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------
Grant Ingersoll
http://lucene.grantingersoll.com
http://www.lucenebootcamp.com
Lucene Helpful Hints:
http://wiki.apache.org/lucene-java/BasicsOfPerformance
http://wiki.apache.org/lucene-java/LuceneFAQ
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]