从Elasticsearch Java API检索总术语频率

时间:2017-04-27 09:46:41

标签: elasticsearch lucene elasticsearch-plugin inverted-index elasticsearch-api

我正在编写一个Elasticsearch插件,在这个插件中,我需要从某个字段中的指定中检索术语频率计数。目前我正在使用下面的查询,并从结果中读取命中数:

SearchResponse searchResponse = nodeClient
            .prepareSearch(INDEX_NAME)
            .setQuery(QueryBuilders.termQuery(TERM_FIELD, term))
            .get();

然而,这需要多次(10-20次)并且似乎很慢。有没有办法使用Elasticsearch Java API并直接从反向索引中读取数据?

在Lucene中,我使用了一个名为totalTermFreq()的函数,该函数直接从反向索引中读取该术语在所有文档中出现的总数。可以找到Lucene的函数文档here

0 个答案:

没有答案