全文检索技术--solr

 搭建solr单机版

1.1 搭建Solr服务器(单机版)

准备工作 把Solr的安装包 /usr/local/src/solr此目录

1.1.1 第一步:把Solr所需要的Jar复制到Tomcat/lib

 

1.1.2 第二步:把Solrwar包复制到Tomcat/webapp

 

1.1.3 第三步:设置Solr的家给Solr.war中的web.xml


1.1.3.1 解压Solr.war

 

1.1.3.2 注意事项

 

1.1.3.3 设置Solr的家到web.xmlWEB-INF下)


1.1.4 第四步:启动Tomcat


 

1.1.5 第五步:查看Tocmat的日志

 

1.2 测试Solr服务器

1.2.1 通过浏览器保存数据到Solr服务器(测试)

 

 

1.2.2 通过浏览器查询出保存到Solr服务器上的数据(测试)

 

 

1.3 SolrJava接口的使用

 

接口SolrServer的实现类:

主要使用 HttpSolrServer(单机版) CloudSolrServer集群版)

Solr支持事务,可以自己commit,也可以设置自动提交

1.3.1 保存 (简单保存二个字段、IDName

@Test

public void testAdd() throws Exception {

//连接服务器的请求路径

String baseURL = "http://192.168.200.128:8080/solr";

//创建Solr的客户端  连接Solr服务器

SolrServer solrServer = new HttpSolrServer(baseURL);

//创建一个存储数据的Solr对象

SolrInputDocument doc = new SolrInputDocument();

//保存ID

doc.setField("id", 2);

//保存Name

doc.setField("name", "我是中国人");

//保存数据

solrServer.add(doc);

//手动提交

solrServer.commit();

}

 

 

1.3.2 查询(连接服务器,关键词“中国人”)

//Solr服务器的Java接口查询

@Test

public void testQuery() throws Exception {

//连接服务器的请求路径

String baseURL = "http://192.168.200.128:8080/solr";

//创建Solr的客户端  连接Solr服务器

SolrServer solrServer = new HttpSolrServer(baseURL);

//查询,创建solrQuery查询对象

SolrQuery params = new SolrQuery();

//关键词

params.set("q", "*:*");

//执行查询  返回查询结果集

QueryResponse response = solrServer.query(params);

//获取结果集

SolrDocumentList docs = response.getResults();

//取出结果的总条数

long numFound = docs.getNumFound();

System.out.println("总条数:" + numFound);

//结果集遍历

for (SolrDocument doc : docs) {

//获取ID

String id = (String) doc.get("id");

//获取标题

String name = (String) doc.get("name");

System.out.println(id);

System.out.println(name);

}

}

 

1.4 给Solr服务器配置IK分词器

1.4.1 第一步:把IKJar包复制给solr/WEB-INf/lib

 

1.4.2 第二步:创建solr/WEB-INF/classes

 

1.4.3 第三步:把IK的配置文件复制到classes

 

tomcat7/webapps/solr/WEB-INF/classes配置自定义分词器、停词器

1.4.4 第四步:设置自定义的数据类型(设置成分词方式为IK分词器)

1.4.4.1 配置自定义数据类型的位置

 

1.4.4.2 配置自定义数据类型在schema.xml

 

 

要实现在查询索引时用到IKAnalyzer,首先要配置使用到IKAnalyzerFieldType(如 text_ik,设置完FiledType,再对其设置field(name=name_ik),对这个filed设置分词属性:

Indexed=true 建立索引

   ---schema.xml中设置

 

用notepad打开修改

 

 

     

 

1.4.4.3 配置自定义字段(数据类型使用上面IK的)

 

    

1.4.4.4 重启Tomcat

 

1.4.4.5 查看分词前

 

1.4.4.6 查看分词后(IK分词器)

配置了IK分词器之后,就可以使用name_ik查看name的分词结果

 







本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部