Solr服务器安装部署(JDK1.8+TOMCAT8+Solr5.5.5)

第一部分 solr安装

1.下载solr的压缩文件:wget http://mirrors.shuosc.org/apache/lucene/solr/5.5.5/solr-5.5.5.tgz 


2.解压压缩包:[root@localhost ~]# tar -zxvf solr-5.5.5.tgz 

3.把solr部署到tomcat下:把solr-5.5.5下面的server下面的solr-webapp下面的webapp复制到tomcat的webapps下,改名为solr(随便起名)  mv webapp solr

cp -r webapp/ /root/usr/java/apache-tomcat-8.5.31/webapps/

4.把solr-5.5.5下面的server下面的lib下面的ext下面的所有jar 全部复制到 Tomcat\ webapps\solr\WEB-INF\lib 目录中

cp * /root/usr/java/apache-tomcat-8.5.31/webapps/solr/WEB-INF/lib/


5.将 solr 压缩包中 solr-5.5.5/server/resources /log4j.properties 复制到Tomcat\ webapps\solr\WEB-INF\lib 目录中

cp log4j.properties /root/usr/java/apache-tomcat-8.5.31/webapps/solr/WEB-INF/lib/

6.关联solr及solrhome。需要修改solr工程的web.xml文件

把solr-5.5.5/server/的solr复制到机器的某个位置 我放在usr/java/solr

 进入 pwd  /root/usr/java/solr


复制当前路径到tomcat的web.xml文件/root/usr/java/solr

7.修改tomcat的web.xml

[root@localhost ~]# vim usr/java/apache-tomcat-8.5.31/webapps/solr/WEB-INF/web.xml

解开注释  把solrhome路径放进去


然后启动tomcat就可以访问了


第二部分 添加core

在管理界面添加core时失败了,这时候需要去usr/java/solr/下面创建一个文件夹。我的文件夹叫做new_core


然后把解压后的solr文件夹中的/root/solr-5.5.5/server/solr/configsets/sample_techproducts_configs/conf复制到new_core中


然后重启tomcat,再去管理页面添加core


第三步 solr整合spring

<!-- solr整合spring -->
	<bean id="solrServer" class="org.apache.solr.client.solrj.impl.HttpSolrServer" >
		<constructor-arg index="0" value="http://192.168.58.128:8080/solr/new_core" />
	</bean>

第四步 IK分词器的配置

1.下载IK分词器的地址:https://github.com/medcl/elasticsearch-analysis-ik/releases

2.把下载的压缩包解压到usr/ik,然后把elasticsearch-analysis-ik-6.2.4.jar复制到/root/usr/java/apache-tomcat-8.5.31/webapps/solr/WEB-INF/lib/


3.在/root/usr/java/solr/new_core/conf/managed-schema中配置IK分词器

<fieldType name="text_ik" class="solr.TextField">
		<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
	</fieldType>
	
	<field name="name_ik" type="text_ik" indexed="true" stored="true" />
1.3 配置扩展字典和停词字典

1.在

cd /usr/solr/apache-tomcat-8.5.31/webapps/solr/WEB-INF/

下面创建classes

2.把IK安装包下面的配置文件复制到 classes目录

3.修改IKAnalyzer.cfg.xml开启扩展字典和停词字典

 

4.修改ext.dic和stopword.dic



第五部分 测试代码

加入的jar


根据jar名称到http://mvnrepository.com/下载点击打开链接

5		// 向solr 服务器里面添加数据
6		@Test
7		public void demo1() throws Exception, IOException {
8			//创建solrServer
9			SolrServer server = new HttpSolrServer("http://192.168.58.128:8080/solr/new_core");
10			//创建存储数据的对象
11			SolrInputDocument document = new SolrInputDocument();
12			document.addField("id",2);
13			document.addField("name","张三");
14			//添加
15			server.add(document);
16			//提交
17			server.commit();
18		}
19		
20		//查询所有数据
21		@Test
22		public void demo2() throws Exception {
23			SolrServer server = new HttpSolrServer("http://192.168.58.128:8080/solr/new_core");
24			
25			//查询
26			SolrQuery solrQuery = new SolrQuery();
27			solrQuery.set("q","*:*");	//表示查询所有数据
28			QueryResponse queryResponse = server.query(solrQuery);
29			//获取结果集
30			SolrDocumentList docs = queryResponse.getResults();
31			//遍历结果集
32			for (SolrDocument solrDocument : docs) {
33				String id = (String)solrDocument.get("id");
34				String name = (String)solrDocument.get("name");
35				System.out.println(id+"---"+name);
36			}
37					}


		测试代码的编写
		//删除	
		@Test
		public void demo3() throws Exception {
			//删除数据
			solrServer.deleteById("1");
			solrServer.commit();
		}
	
		//更新
		@Test
		public void demo4() throws Exception {
			SolrInputDocument doc = new SolrInputDocument();
			doc.setField("id","2");
			doc.setField("name","张飞");
			solrServer.add(doc);
			solrServer.commit();
		}

然后又遇到问题,现在只能往里面添加固定 的字段,比如 id,name

如果需要添加更多呢?

就需要在/root/usr/java/solr/new_core/conf/managed-schema的最后添加一些自己需要的列,然后就可以自定义添加了



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值