1

我正在尝试计算索引中某个术语的 tf*idf。
http://yonik.com/posts/solr-relevancy-function-queries/的 Yonik 帖子之后,我尝试
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)  

然而,我得到了同样的错误。
我的语法缺少什么才能正常工作?

4

1 回答 1

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

于 2013-08-20T23:08:10.650 回答