使用Solr的函数查询

时间:2013-08-20 15:41:56

标签: ajax rest solr indexing

我正在尝试计算索引中术语的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)  

然而,我得到了同样的错误 我的语法缺乏正常工作的原因是什么?

1 个答案:

答案 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