Erik Hatcher wrote:
> Is it possible for me to retrieve all the values of a particular field
> that exists within an index, across all documents?
>
> For example, I'm indexing documents that have a "category" associated
> with them. Several documents will share the same category. I'd like to
> be able to retrieve all categories.
The trick is to enumerate terms with that field. Terms are sorted first
by field, then by text, so all terms with a given field are adjacent in
enumerations. Term enumeration is also efficient.
try {
TermEnum terms = indexReader.terms(new Term("category", ""));
while ("category".equals(enum.term().field())) {
... collect enum.term().text() ...
if (!terms.next())
break;
}
} finally {
terms.close();
}
Doug
--
To unsubscribe, e-mail: <mailto:lucene-user-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:lucene-user-help@jakarta.apache.org>
|