全文检索技术--solr
搭建solr单机版
1.1 搭建Solr服务器(单机版)
准备工作 把Solr的安装包 /usr/local/src/solr此目录
1.1.1 第一步:把Solr所需要的Jar复制到Tomcat/lib下
1.1.2 第二步:把Solr的war包复制到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.xml(WEB-INF下)
1.1.4 第四步:启动Tomcat
1.1.5 第五步:查看Tocmat的日志
1.2 测试Solr服务器
1.2.1 通过浏览器保存数据到Solr服务器(测试)
1.2.2 通过浏览器查询出保存到Solr服务器上的数据(测试)
1.3 Solr的Java接口的使用
接口SolrServer的实现类:
主要使用 HttpSolrServer(单机版) CloudSolrServer(集群版)
Solr支持事务,可以自己commit,也可以设置自动提交
1.3.1 保存 (简单保存二个字段、ID、Name)
| @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 第一步:把IK的Jar包复制给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,首先要配置使用到IKAnalyzer的FieldType(如 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的分词结果
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
