一、修改 solr-7.3.1\server\solr\articles【创建的core的名称】\conf\managed-schema文件
1、增加中文的分词器:
2、增加字段名,指定text_cn类型:
3、pom引入jiar
二、java代码如下:
package com.silverbox.solr;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
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:6789/solr/mote";
Init(urlString);
String txt = "全党同志一定要登高望远、居安思危,勇于变革、勇于创新,永不僵化、永不停滞,团结带领全国各族人民决胜全面建成小康社会,奋力夺取新时代中国特色社会主义伟大胜利";
List
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();
//HttpSolrClient solr = null;
solr = new HttpSolrClient(urlString);
}
/**
* @Author:sks
* @Description:分词统计,把字符串分词并返回分词列表
* @Date:
*/
public static List
FieldAnalysisRequest request = new FieldAnalysisRequest(
"/analysis/field");
request.addFieldName("cnname");// 字段名,随便指定一个支持中文分词的字段
request.setFieldValue("");// 字段值,可以为空字符串,但是需要显式指定此参数
request.setQuery(sentence);
FieldAnalysisResponse response = null;
try {
response = request.process(solr);
} catch (Exception e) {
e.printStackTrace();
}
List
Iterator
.getQueryPhases().iterator();
while(it.hasNext()) {
AnalysisPhase pharse = (AnalysisPhase)it.next();
List
for (TokenInfo info : list) {
results.add(info.getText());
}
}
return results;
}
}
执行结果:
全党
同志
一定
要
登高望远
,
居安思危
,
勇于
变革
,
勇于
创新
,
永不
僵化
,
永不
停滞
,
团结
带领
全国
各族
人民
决胜
全面
建成
小康
社会
,
奋力
夺取
新
时代
中国
特色
社会主义
伟大
胜利