Thank You very much

--Tim

> -----Ursprüngliche Nachricht-----
> Von: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] Auftrag von Chris 
> Hostetter
> Gesendet: Dienstag, 18. Januar 2005 04:56
> An: Lucene Users List
> Betreff: Re: How to get all field values from a Hits object?
> 
> 
> 
> : is it possible to get all different values for a
> : <Field> from a <Hits> object and how to do this?
> 
> The ording of your question suggests that the Field you are 
> interested in
> isn't a field which will have a fairly unique value for every 
> doc (ie: not
> a "title", more likely an "author" or "category" field).  
> Starting with
> that assumption, then there is fairly efficient way to get 
> the information
> you want...
> 
> Assuming the total set of values for the Field you are 
> interested in is
> small (relative your index size), you can pre-compute a BitSet for
> each value indicating which docs match that value in the 
> Field (using a
> TermFilter).  Then store those BitSets in a Map (key'ed by 
> field value)
> 
> Everytime a search is performed, use a HitCollector that generates a
> BitSet containing the documents in your result; AND that 
> BitSet against (a
> copy of) each BitSet in your Map.  All of the resulting BitSets with a
> non-zero cardinality represent values in your results.  (As 
> an added bonus
> the cardinality() of each BitSet is the total number of docs in your
> result that contain that value)
> 
> Two caveats:
>    1) Everytime you modify your index, you have to regen the
>       BitSets in your Map.
>    2) You have to know the set of all values for the field you are
>       interested in.  In many cases, this is easy to 
> determine from the
>       source data while building the index.  but it's also possible to
>       get it using IndexReader.termDocs(Term).
> 
> 
> (I'm doing something like this to provide ancilary 
> information about which
> categories of documents are most common in the users search 
> result, and
> what the exact number of documents in those categories is)
> 
> 
> -Hoss
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to