如何从Solr查询中获取tf和idf分数?

时间:2017-04-29 05:15:32

标签: java apache search solr lucene

按照Solr文档(https://cwiki.apache.org/confluence/display/solr/Function+Queries和其他人),我应该像使用termfreq(fieldname,' term')一样放入idf(fieldname,' term')字段列表。但是,每当我尝试这个时,我都会得到一个例外:

MATCH (c:Challenge) 
WHERE (id(c) = 240), 
MATCH (u:User {id: '70cf6846-b38a-413c-bab8-7c707d4f46a8'}) 
CREATE (e:Entry {name: "My Entry"})-[:PART_OF]->(c), (u)<-[r:POSTED_BY]-(e)
RETURN e;

通过查看我能找到的日志:

MATCH (c:Challenge {name: "Challenge Name"), 
MATCH (u:User {id: '70cf6846-b38a-413c-bab8-7c707d4f46a8'}) 
CREATE (e:Entry {name: "My Entry"})-[:PART_OF]->(c), (u)<-[r:POSTED_BY]-(e) 
RETURN e;

我不知道那些是什么。此外,当我使用 debugQuery = on 时,它会向我显示文档的idf值以及其他许多内容:

WHERE id(c) = 232

我该怎么做才能解决这些错误或获得期望的tf和idf值?

2 个答案:

答案 0 :(得分:1)

您需要在&#34; managed-schema&#34;中添加以下行:其中相似性标签在架构的末尾被评论

<similarity class="solr.ClassicSimilarityFactory"/>

答案 1 :(得分:1)

我遇到了同样的问题,发现了这个Chrome扩展程序 -

https://chrome.google.com/webstore/detail/solr-query-debugger/gmpkeiamnmccifccnbfljffkcnacmmdl?hl=en

真正有助于打破&#34;解释&#34;并将为您显示idf的值。