If you were a *Solr* user, I could say "try the 'termfreq' function query":
termfreq(field,term) returns the number of times the term appears in the
field for that document.
Example Syntax: termfreq(text,'memory')
See:
http://wiki.apache.org/solr/FunctionQuery#tf
Lucene does have "FunctionQuery", "ValueSource", and "TermFreqValueSource".
See:
http://lucene.apache.org/solr/api/org/apache/solr/search/function/FunctionQuery.html
-- Jack Krupansky
-----Original Message-----
From: Mike Sokolov
Sent: Saturday, June 16, 2012 2:33 PM
To: java-user@lucene.apache.org
Subject: filter by term frequency
I imagine this is a question that comes up from time to time, but I
haven't been able to find a definitive answer anywhere, so...
I'm wondering whether there is some type of Lucene query that filters by
term frequency. For example, suppose I want to find all documents that
have exactly 2 occurrences of some word. I know that the frequency is
stored and used in scoring , but I don't think it is exposed in a simple
way at the query level. It looks to me as if CustomScoreQuery might be
a convenient way to monkey with scores? But it doesn't seem to use that
for filtering, just sorting. Perhaps a Collector could then impose a
score threshold later? Any suggestions here?
-Mike
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org