代码如下:

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;
} }

最新文章

  1. C#为IE编写BHO插件心得
  2. Python地址簿
  3. linq 延迟执行带来的困扰
  4. 三台CentOS 5 Linux LVS 的DR 模式http负载均衡安装步骤
  5. BMP图片转换为JPEG图片
  6. HttpClient的使用-爬虫学习1
  7. 如何在CMD下运用管理员权限
  8. android中RelativeLayout无法填充ScrollView布局的问题
  9. 学习笔记TF061:分布式TensorFlow,分布式原理、最佳实践
  10. [转]git问题ERROR: Repository not found.的解决
  11. iOS MJRefresh下拉、上拉刷新自定义以及系统详细讲解
  12. 02.将SDK获取到的ECS主机信息入库
  13. CSS面试细节整理(二)
  14. 原生HttpClient详细使用示例
  15. 细说log4j之log4j 1.x
  16. MySQL查询本周、上周、本月、上个月份数据的sql脚本
  17. Python3学习之路~5.3 random模块
  18. UUID实现之一twitter的分布式自增IDsnowflake算法
  19. 学习js第一天小结
  20. 2017中国人工智能公司榜单发布,颠覆AT的AI独角兽全在这

热门文章

  1. date &quot;+Y-%m-%d %H:%M&quot;
  2. Java坦克大战 (七) 之图片版
  3. CSS3制作旋转的小风车
  4. vmware的3种网络模式
  5. resin + eclipse 遇到的问题
  6. nginx [error] open() &quot;/usr/local/nginx/logs/nginx.pid&quot; failed的解决
  7. hdu5819
  8. [libgdx游戏开发教程]使用Libgdx进行游戏开发(9)-场景过渡
  9. 我从没理解js的闭包,直到他人向我这么解释。。。
  10. ACM-ICPC北京赛区(2017)网络赛1【模拟+枚举+数组操作】