lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brisbart Franck <>
Subject Re: how to get an extra count
Date Mon, 07 Apr 2003 12:59:33 GMT
Ype Kingma wrote:
> On Tuesday 04 February 2003 09:12, you wrote:
>>Hi all,
>>I'm trying to gather information about my non-searched (ie not used for
>>the search) fields.
>>Let's take an index with 2 fields: 'artist' (for the artist name) an
>>'type' (for his type of music).
>>I need to perform a search on the 'artist' field to retrieve a list of
>>artists matching the query. But I also need to have the number of
>>artists per 'type'.
>>My first solution was to write a HitCollector which do the work:
>>     public void collect(int doc, float score) {
>>     Document document = indexReader_.document(doc);
>>     if(document.get("type").equals("Rock"))
>>         nbRock++;
>>     ...
>>     }
>>But, as I first get the document to analyze my non-searched field, the
>>treatment can be very long for searches with lots of results.
>>Is there any better(=faster) method to have this extra info ??
> It's best not to retrieve document fields during search.
> You can do this after collecting, possibly in the order
> that you collected the documents.
You're right. Using document fields during a search wasn't a good idea.
In fact, I would like to avoid using document fields at all. Because, it 
takes too much time. If a search returns 10000 results, I need to 
analyse all of them to get my extra info (nb of artist per type). And 
even if I have only 10 results to display, my search is very slow.
It'll be great to treat my 'type' field the same way as the 'freq' is 
used. I think this will be much faster.
How can I store the content of this field in a lucene file (such as 
<segment>.frq) to use it during my search ??


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message