【TaoTao】Linux下全文搜索引擎solr的搭建步骤(easy单机版)

需求分析:


          门户有一个搜索功能,需要发布rest服务让pc端,移动端调用。根据关键词搜索,得到json格式的数据。根据项目需求,采用了全文搜索引擎solr提供搜索系统,发布搜索服务。


         简单介绍一下solr,在了解solr之前你要清楚什么是索引库。就是所有目录的集合。对于全文检索也是类似的原理,它可以归结为两个过程:1.索引创建(Indexing)2. 搜索索引(Search)。Solr/Lucene采用的是一种反向索引,所谓反向索引:就是从关键字到文档的映射过程,保存这种映射这种信息的索引称为反向索引。

         Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器。文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过 http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提 供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等。基于Luncene开发的还有一个分布式的索引系统ElasticSearch。感兴趣的可以研究。



solr服务客户端:


           因为是通过http协议提供solr的后台服务,项目中需要加入一个新的maven工程。后台使用ssm搭建,细节就不展示了。需要注意的是,solr服务的客户端需要在maven中引用jar包,如下:

<!-- solr客户端 -->
		<dependency>
			<groupId>org.apache.solr</groupId>
			<artifactId>solr-solrj</artifactId>
		</dependency>



solr服务端搭建:


1.前提linux下有jdk和tomcat,因为solr需要把war包扔到tomcat中运行。jdk和tomcat安装过程略。

2.解压solr压缩包   根目录下   tar -zxf solr-4.10.3.tgz.tgz

3.部署war   /solr-4.10.3/dist/solr-4.10.3.war   放到  /usr/local/tomcats/tomcat1/webapps  下

4.启动tomcat解压war    /usr/local/tomcats/tomcat1/bin/startup.sh

5.添加需要的jar 到 solr工程的lib下  /root/solr-4.10.3/example/lib/ext目录下的所有的jar包添加到solr工程中



6.创建solrhome  把/root/solr-4.10.3/example/solr文件夹复制一份作为solrhome。



7.告诉solr服务solrhome的位置。需要修改web.xml  (solr工程里的)




8.重启tomcat 访问:http://192.168.139.128:8080/solr  出现下面的界面,就OK了。




测试solr:

搭建完成,下面就在文档中添加域测试一下。所有动作之后不要忘了提交。

	@Test
	public void testSolrJ() throws Exception{
		//创建连接
		SolrServer solrServer =new HttpSolrServer("http://192.168.139.128:8080/solr");
		//创建一个文档对象
		SolrInputDocument document=new SolrInputDocument();
		//添加域
		//向文档中添加域
		document.addField("id", "test001");
		document.addField("item_title", "测试商品");
		document.addField("item_sell_point", "卖点");
		//把文档添加到索引库
		solrServer.add(document);
		//提交
		solrServer.commit();
	}

 



 总结:


    搭建过程很简单,动手试试吧。


    PS:中间在配置IKAnalyzer的时候需要编辑solrhome中的schema.xml,遇到一个编码问题,如果修改了xml保存格式一定要是utf-8,否则就会报“Schema Parsing Failed: 3 字节的 UTF-8 序列的字节 3 无效。的错误。




评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值