我正在使用以下查询来获取“apple”字词出现在“text”字段中的总次数:
/solr/collection1/select/?q=text:apple&fl=totaltermfreq(text,apple)&rows=0&omitHeader=true
<response>
<result name="response" numFound="152322" start="0"/>
</response>
query time: 12 milliseconds
我有十几个这样的问题(例如“橙色”,“梨形”,“香蕉”等)。每个查询运行速度非常快(~10-20毫秒),但我必须单独发送它们。我想立刻发送给他们。
我尝试过将Solr Terms Component与正则表达式一起使用,但只需一个学期就需要一分钟:
/solr/terms?terms.fl=text&terms.regex=apple&omitHeader=true
<response>
<lst name="terms">
<lst name="text">
<int name="apple">152322</int>
</lst>
</lst>
</response>
query time: 69866 milliseconds
如果我可以将多个术语传递给总词频函数查询,那就太好了。想法?
答案 0 :(得分:2)
使用*:*
查询所有文档,并为要提取的术语总数的每个术语的字段列表添加一个函数查询:
?q=*:*&fl=ttf(text,apple),ttf(text,banana),ttf(text,pear)&rows=1