Java solr 分词
生活随笔
收集整理的這篇文章主要介紹了
Java solr 分词
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
代碼如下:
import java.io.IOException; import java.util.*;import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.HttpSolrClient; import org.apache.solr.client.solrj.response.QueryResponse; import org.apache.solr.client.solrj.response.UpdateResponse; import org.apache.solr.common.SolrDocument; import org.apache.solr.common.SolrInputDocument; import java.util.Set; import java.util.List; import java.util.Map.Entry; import org.apache.solr.client.solrj.request.FieldAnalysisRequest; import org.apache.solr.client.solrj.response.AnalysisResponseBase.AnalysisPhase; import org.apache.solr.client.solrj.response.AnalysisResponseBase.TokenInfo; import org.apache.solr.client.solrj.response.FieldAnalysisResponse; /*** @Author:sks* @Description:利用solr分詞組件進行分詞* @Date:Created in 14:07 2017/12/14* @Modified by:**/ public class splitwords {public static void main(String []args) throws SolrServerException, IOException{String urlString = "http://localhost:8983/solr/data";Init(urlString);String txt = "全黨同志一定要登高望遠、居安思危,勇于變革、勇于創新,永不僵化、永不停滯,團結帶領全國各族人民決勝全面建成小康社會,奮力奪取新時代中國特色社會主義偉大勝利";List<String> results = getAnalysis(txt);for(String word :results){System.out.println(word);}// 全黨 // 同志 // 一定 // 要 // 登高望遠 // 居安思危 // 勇于 // 變革 // 勇于 // 創新 // 永不 // 僵化 // 永不 // 停滯 // 團結 // 帶領 // 全國各族人民 // 決勝 // 全面 // 建成 // 小康社會 // 奮力 // 奪取 // 新時代 // 中國特色 // 社會主義 // 偉大 // 勝利 }private static SolrClient solr;/*** @Author:sks* @Description:初始化solr客戶端* @Date:*/public static void Init(String urlString){solr = new HttpSolrClient.Builder(urlString).build();}/*** @Author:sks* @Description:分詞統計,把字符串分詞并返回分詞列表* @Date:*/public static List<String> getAnalysis(String sentence) {FieldAnalysisRequest request = new FieldAnalysisRequest("/analysis/field");request.addFieldName("text");// 字段名,隨便指定一個支持中文分詞的字段request.setFieldValue("");// 字段值,可以為空字符串,但是需要顯式指定此參數 request.setQuery(sentence);FieldAnalysisResponse response = null;try {response = request.process(solr);} catch (Exception e) {e.printStackTrace();}List<String> results = new ArrayList<String>();Iterator<AnalysisPhase> it = response.getFieldNameAnalysis("text").getQueryPhases().iterator();while(it.hasNext()) {AnalysisPhase pharse = (AnalysisPhase)it.next();List<TokenInfo> list = pharse.getTokens();for (TokenInfo info : list) {results.add(info.getText());}}return results;}}?
轉載于:https://www.cnblogs.com/shaosks/p/8037465.html
總結
以上是生活随笔為你收集整理的Java solr 分词的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Maven学习】Nexus OSS私服
- 下一篇: iOS攻防——(四)class-dump