2013-08-20 66 views
1

我試圖計算我的索引中某個術語的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'是該術語)沒有太多成功。答案是:使用來自Solr的函數查詢

錯誤400:客戶端發送的請求在語法上不正確(空)。

我繼續看着這個答案/ A/13477887所以我試圖做一個簡單的查詢功能:

http://localhost:8080/solr/select/?q={!func}docFreq(texto_completo,bug) 

然而,我得到了同樣的錯誤。
什麼是我的語法缺乏正常工作?

回答

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

UPDATE:您至少需要Solr 4.0才能使用它們。請參閱http://wiki.apache.org/solr/FunctionQuery#Relevance_Functions

+0

我正在使用Solr 3.6,這是否有所作爲? – Emyr

+0

是的,更新了答案。 – arun