Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.bindez.nlp.extract.ngram.term_frequency; import java.util.concurrent.Callable; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.impl.HttpSolrServer; import org.apache.solr.client.solrj.response.QueryResponse; import org.apache.solr.common.SolrDocument; import org.apache.solr.common.SolrDocumentList; /** * * @author ahk */ public class TermFrequencyTask implements Callable<TermResult> { private HttpSolrServer server; private String term; TermFrequencyTask(String terms, HttpSolrServer server) { this.term = terms; this.server = server; //new SolrServer().getSolrServer(); } @Override public TermResult call() throws Exception { TermResult result = new TermResult(); HttpSolrServer tfServer = this.server; //SolrServer.getSolrServer(); /* SolrQuery query = new SolrQuery(); query.setRequestHandler("/terms"); query.set("terms.fl", "content"); query.set("terms.regex", term) ; query.set("terms", "true"); query.set("shards.qt","/terms"); query.set("distrib", "true"); QueryResponse response = server.query(query); TermsResponse termsRes = response.getTermsResponse(); List<TermsResponse.Term> terms= termsRes.getTerms("content"); TermsResponse.Term solrTerm = null ; if(terms != null && terms.size() > 0){ solrTerm = terms.get(0); result.setTerm(term); result.setFrequency(solrTerm.getFrequency()); }else{ result.setTerm(term); result.setFrequency(0); } */ SolrQuery query = new SolrQuery(); query.set("q", "content:" + term); query.add("fl", "fl:totaltermfreq(content," + term + ")"); QueryResponse response = server.query(query); SolrDocumentList results = response.getResults(); for (SolrDocument result1 : results) { String count = result1.getFieldValue("fl").toString(); result.setTerm(term); result.setFrequency(Long.parseLong(count)); } return result; } }