向上一篇文章中的core0添加数据;
新建一个web工程,lib添加一下jar包
新建测试类:
public class Av {
@Field
private int id;
@Field
private String type;
@Field
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class SolrTest {
/**
* @param args
*/
public static void main(String[] args) {
SolrServer server = new HttpSolrServer(
"http://http://localhost:8088/solr/core0/");
try {
/*
* server.deleteByQuery("*:*");
* server.commit();
*/
addIndexDoc(server);
addIndexDocWithPojo(server);
searchDocMapToPojo(server);
} catch (SolrServerException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void addIndexDoc(SolrServer server)
throws SolrServerException, IOException {
// 对应schema.xml
SolrInputDocument doc1 = new SolrInputDocument();
doc1.addField("id", 1);
doc1.addField("type", "女优");
doc1.addField("name", "波多野吉衣");
SolrInputDocument doc2 = new SolrInputDocument();
doc2.addField("id", 2);
doc2.addField("type", "女优");
doc2.addField("name", "苍井空");
SolrInputDocument doc3 = new SolrInputDocument();
doc3.addField("id", 3);
doc3.addField("type", "女优");
doc3.addField("name", "龙泽洛拉");
SolrInputDocument doc4 = new SolrInputDocument();
doc4.addField("id", 4);
doc4.addField("type", "女优");
doc4.addField("name", "小泽玛莉亚");
Collection<SolrInputDocument> docs = new ArrayList<SolrInputDocument>();
docs.add(doc1);
docs.add(doc2);
docs.add(doc3);
docs.add(doc4);
server.add(docs);
server.commit();
}
public static void addIndexDocWithPojo(SolrServer server)
throws SolrServerException, IOException {
Av av = new Av();
av.setId(5);
av.setName("加藤鹰");
av.setType("男优");
List<Av> avs = new ArrayList<Av>();
avs.add(av);
server.addBeans(avs);
server.commit();
}
public static void searchDocMapToPojo(SolrServer server)
throws SolrServerException {
SolrQuery solrQuery = new SolrQuery().setQuery("name:*小泽");
QueryResponse rsp = server.query(solrQuery);
List<Av> list = rsp.getBeans(Av.class);
for (Av av : list) {
System.out.println(av.getName());
}
}
}
可以先执行添加数据的
访问:http://localhost:8088/solr/#/core0/query
执行查询
接着查看
可以看到 并没有进行分词
下面加入中文分词
第一篇文章中我们已经想solr中加入了mmseg4j分词器
开始配置:
编辑 core0/conf/schema.xml
重启solr或者点击重新加载配置文件的选项 使配置生效
清空以前加入的数据
执行
在执行以前添加数据的代码
查看分词结果
检测一下分词效果