lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler" <...@thetaphi.de>
Subject RE: How to sort and get document scores afterwards
Date Thu, 15 Oct 2009 16:53:13 GMT
The default API searcher.search works like this now. If you want to control,
the retrieval of scores, create a TopFieldCollector directly:
http://lucene.apache.org/java/2_9_0/api/all/org/apache/lucene/search/TopFiel
dCollector.html

The static create methods has many possibilities to control the behaviour of
the resulting Collector. Pass this collector to the corresponding search
engine. The topDocs() method returns the resulting TopDocs instance (its in
the superclass TopDocsCollector!!!). Some hints: mostly scoreDocsInOrder can
be false, if you need the maxScore set it true, you want to have scores, so
set also to true. Mosly you will not need the sorted field values (false).

Uwe

-----
Uwe Schindler
H.-H.-Meier-Allee 63, D-28213 Bremen
http://www.thetaphi.de
eMail: uwe@thetaphi.de

> -----Original Message-----
> From: Christian Reuschling [mailto:christian.reuschling@gmail.com]
> Sent: Thursday, October 15, 2009 6:42 PM
> To: java-user@lucene.apache.org
> Subject: How to sort and get document scores afterwards
> 
> Hi,
> 
> our application enables sorting the result lists according to field
> values,
> currently all represented as Strings (we plan to also migrate to the new
> numeric type capabilities of Lucene 2.9 at a later time)
> 
> For this, the documents will be sorted e.g. according to the author, which
> works fine with the new 2.9 sort interface
> 
> 
> llSortFields.add(new SortField(strFieldName4Sorting, SortField.STRING,
> !bAscending));
> 
> topDocs = searcher.search(wheight4Query, (Filter) null, m_iMaxTopDocs, new
> Sort(llSortFields.toArray(new SortField[0])));
> 
> for (ScoreDoc scoreDoc : m_luceneTopDocs.scoreDocs)
>    System.out.println(scoreDoc.score);  //>>>>>> NaN
> 
> 
> Nevertheless, we visualize the score of each document inside a birdeye
> view, to show the relevancy of each doc according to
> the users query. But the scoreDoc.score  numbers have all the value 'NaN'.
> 
> This is a new behaviour in Lucene 2.9, I think a good feature to save cpu
> time - but how can we get the scores again?
> 
> 
> regards
> 
> 
> Chris



---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org


Mime
View raw message