Я могу легко получить TF, подсчитав количество терминов в документе, и я хочу знать, как рассчитать частоту документов, то есть количество документов, содержащих этот термин.
То, чего я достиг до сих пор, - это запрос solr с большим количеством строк и обратный подсчет результатов, но это очень затратно по времени и памяти. Я хочу считать только термины
SolrQuery q = new SolrQuery();
q.setQuery("tweet_text:"+kw);
q.addField("tweet_text");
q.setRows(40000000);
SolrDocumentList results = null ;
try {
QueryResponse rsp = solrServer.query(q);
results = rsp.getResults();
} catch (SolrServerException e) {
e.printStackTrace();
}
ArrayList<String> tweets = new ArrayList<String>();
for (SolrDocument doc : results)
{
tweets.add(doc.getFieldValue("tweet_text").toString());
}