One way is to read TermDocs for each candidate term and see if they are in your filter - but that sounds like a lot of disk IO to me when responding to individual user keystrokes. You can use "skip" to avoid reading all term docs when you know what is in the filter but it all seems a bit costly.
It's hard to optimise in advance for this, especially if the filter is an arbitrary choice of documents for each user. ----- Original Message ---- From: AdrianPillinger <[EMAIL PROTECTED]> To: java-dev@lucene.apache.org Sent: Wednesday, 3 September, 2008 16:54:11 Subject: Can I filter the results returned by IndexReader.terms(term)? I am using IndexReader.terms(term) to produce term suggestions to my users as they type. In many cases the user is searching lucene with a filter applied, for example a date range. Is there any way I can get a list of terms in the index that are contained within a subset of the documents by a given filter. i.e. I'd like to do something like.... ... IndexReader reader = readerProvider.openReader(directoryProvider); reader.filterDocument(filter); TermEnum termEnum = reader.terms(new Term("name", "<user entered term>")); ...Iterate on terms .... I've scouted all over the API and I cannot find how to do this or if it is possible. Please let me know if it can be done and if so how. Thanks! -- View this message in context: http://www.nabble.com/Can-I-filter-the-results-returned-by-IndexReader.terms%28term%29--tp19292207p19292207.html Sent from the Lucene - Java Developer mailing list archive at Nabble.com. --------------------------------------------------------------------- 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]