使用 Lucene 查找某个术语出现超过一定次数的文档
Finding documents with Lucene where a term occurs more than a certain number of times
有没有一种方法可以使用 Solr(或直接使用 Lucene)创建查询,以查找包含某个术语超过一定次数的文档?
目前我只能使用 SpanNearQuery 想出一个迂回的解决方案。这可以用来表示两个跨度彼此靠近,因此通过使用 n - 1 inOrder SpanNearQuerys 可以构造这样的查询,例如"term" 必须出现 4 次:
(("term" 附近 "term") 附近 "term") 附近 "term"
其中 "term" 是一个 SpanTermQuery,near 是一个具有大斜率的 inOrder SpanNearQuery
termfreq function query used to fetch the frequency of the term and and further, the Function range query parser 可用于允许对任意函数进行范围查询或范围过滤器。
q=*&fq={!frange l=2}termfreq(category_t,'demo')
以上查询仅获取演示在 category_t
字段中重复两次或更多次的文档。
有没有一种方法可以使用 Solr(或直接使用 Lucene)创建查询,以查找包含某个术语超过一定次数的文档?
目前我只能使用 SpanNearQuery 想出一个迂回的解决方案。这可以用来表示两个跨度彼此靠近,因此通过使用 n - 1 inOrder SpanNearQuerys 可以构造这样的查询,例如"term" 必须出现 4 次: (("term" 附近 "term") 附近 "term") 附近 "term"
其中 "term" 是一个 SpanTermQuery,near 是一个具有大斜率的 inOrder SpanNearQuery
termfreq function query used to fetch the frequency of the term and and further, the Function range query parser 可用于允许对任意函数进行范围查询或范围过滤器。
q=*&fq={!frange l=2}termfreq(category_t,'demo')
以上查询仅获取演示在 category_t
字段中重复两次或更多次的文档。