我正在尝试计算索引中术语的tf * idf
在Yonik的帖子http://yonik.com/posts/solr-relevancy-function-queries/后,我尝试了
http://localhost:8080/solr/select/?fl=score,id&defType=func&q=mul(tf(texto_completo,bug),idf(texto,bug))
(其中texto_completo是字段,'bug'是术语)没有太大成功。答复是:
错误400:客户端发送的请求在语法上不正确(null)。
我继续看了这个答案/ a / 13477887所以我试着做一个更简单的函数查询:
http://localhost:8080/solr/select/?q={!func}docFreq(texto_completo,bug)
然而,我得到了同样的错误 我的语法缺乏正常工作的原因是什么?
答案 0 :(得分:0)
因为这不起作用:
q={!func}docFreq(texto_completo,bug)
使用所有小写docfreq
:
q={!func}docfreq(texto_completo,bug)
我刚试过:
q={!func}mul(tf(name,movie),idf(name,movie))
Solr 4.2.1中的它工作正常。我的字段名称是name
(文字类型),我要查找的字词是movie
。
更新:您至少需要Solr 4.0来使用它们。见http://wiki.apache.org/solr/FunctionQuery#Relevance_Functions