我在 solr 中索引了 10 个网站的数据。现在我想用以下格式转储每个网站的数据:[术语,该网站中术语的频率,IDF,网站]
e.g : [management,12,145,example.com]
where 12 is a frequency of term in example.com, 145 is IDF of term in index.
我可以用 solr 和如何做到这一点吗?
如果您正在寻找测量文档中不同术语的分布,那么直方图就是您想要的。检查LukeRequestHandler示例。
一些低级 API:
InderReader reader = IndexReader.open(directory);
TermDocs termDocs = reader.termDocs();
// TermDocs termDocs = reader.termDocs(term); // if you need docs containing specific term
while (termDocs.next()) {
System.out.println("Doc #: " + termDocs.doc());
System.out.println("Full document: " + reader.document(termDocs.doc()));
System.out.println("Term frequency: " + termDocs.freq());
}
对于 tf*idf,请参阅DefaultSimilarity和此问题以获取一些评论。