Solr服务搭建&&solr业务域的配置&&测试

Solr的环境

  1. Solr是java开发,需要安装jdk
    https://blog.csdn.net/weixin_42869365/article/details/83894210
  2. solr是一个war包,一个web工程,要运行在一个web工程里,∴需要安装Tomcat
  3. 安装环境Linux

搭建步骤

  1. solr上传到linux下的usr/solr,并解压缩 tar zxf solr-4.10.3.tgz.tgz
  2. 安装Tomcat,解压缩即可
    https://blog.csdn.net/weixin_42869365/article/details/83956269
  3. 复制一份apache-tomcat-7.0.47文件到/usr/local/solr/中
cp apache-tomcat-7.0.47 /usr/local/solr/ -r
  1. solr是一个war包,∴把solr的war包部署到Tomca下的webapps中,并改名为solr.war
    solr-4.10.3.war 在 /usr/solr/solr-4.10.3/dist下面
cp solr-4.10.3.war /usr/local/solr/apache-tomcat-7.0.47/webapps/solr.war
  1. 解压缩solr.war (启动tomcat就能解压缩solr.war产生一个solr文件夹)
  2. 启动tomcat,关闭tomcat后删除solr.war
cd /usr/local/solr/apache-tomcat-7.0.47
bin/startup.sh
tail -f logs/catalina.out
bin/shutdown.sh
cd webapps
rm -f solr.war
  1. 把/usr/solr/solr-4.10.3/example/lib/ext目录下的所有的jar包,添加到solr工程中
    cp * /usr/local/solr/apache-tomcat-7.0.47/webapps/solr/WEB-INF/lib
    在这里插入图片描述
  2. 创建一个solrhome。把/usr/solr/solr-4.10.3/example下面的solr文件夹复制到/usr/local/solr下,并改名为solrhome
    cp -r solr /usr/local/solr/solrhome
  3. 关联solr及solrhome。需要修改solr工程的web.xml文件
vim /usr/local/solr/apache-tomcat-7.0.47/webapps/solr/WEB-INF/web.xml

在这里插入图片描述

  1. 启动tomcat,solr就随之启动
cd /usr/local/solr/apache-tomcat-7.0.47
bin/startup.sh
tail -f logs/catalina.out
  1. 如果通过页面访问192.168.25.131:8080/solr,出现如下页面,说明启动成功
    注意:访问之前要关闭防火墙,否则通过页面是访问不到的
    chkconfig iptables off永久性关闭,需要重启
    在这里插入图片描述

solr业务域的配置

创建对应的业务域,需要制定中文分析器
步骤:

  1. 把中文分析器添加到工程中。把IKAnalyzer2012FF_u1.jar添加到solr工程的lib目录下/usr/local/solr/apache-tomcat-7.0.47/webapps/solr/WEB-INF/lib
  2. /usr/local/solr/apache-tomcat-7.0.47/webapps/solr/WEB-INF目录下创建classes文件夹,把扩展词典(ext_stopword.dic、mydict.dic)、配置文件(IKAnalyzer.cfg.xml)放到solr工程的WEB-INF/classes目录下
  3. 想让中文分析器生效,还必须在schema.xml中配置一个FieldType,制定使用IKAnalyzer。
    修改Solr(/usr/local/solr/solrhome/collection1/conf)的schema.xml文件,添加如下FieldType代码
<fieldType name="text_ik" class="solr.TextField"> //name可以随便改,class必须是TextField
  <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>  //指定了分析器
</fieldType>
  1. 配置业务域,type制定使用自定义的FieldType。设置业务系统Field
    schema.xml中定义(商品Id,商品标题,商品卖点,商品价格,商品图片,分类名称)
<field name="item_title" type="text_ik" indexed="true" stored="true"/>
<field name="item_sell_point" type="text_ik" indexed="true" stored="true"/>
<field name="item_price"  type="long" indexed="true" stored="true"/>
<field name="item_image" type="string" indexed="false" stored="true" />
<field name="item_category_name" type="string" indexed="true" stored="true" />

<field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
<copyField source="item_title" dest="item_keywords"/>
<copyField source="item_sell_point" dest="item_keywords"/>
<copyField source="item_category_name" dest="item_keywords"/>
  1. 重启tomcat
  2. 通过页面查看定义好的业务域是否可行 http://192.168.25.131:8080/solr
    在这里插入图片描述

测试

    @Test
	public void addDocument() throws Exception {
		//创建一个SolrServer对象,创建一个连接。参数solr服务的url
		SolrServer solrServer = new HttpSolrServer("http://192.168.25.131:8080/solr/collection1");
		//创建一个文档对象SolrInputDocument
		SolrInputDocument document = new SolrInputDocument();
		//向文档对象中添加域。文档中必须包含一个id域,所有的域的名称必须在schema.xml中定义。
		document.addField("id", "doc01");
		document.addField("item_title", "测试商品01");
		document.addField("item_price", 1000);
		//把文档写入索引库
		solrServer.add(document);
		//提交
		solrServer.commit();
	}

通过页面显示 http://192.168.25.131:8080/solr/#/collection1/query
在这里插入图片描述

   @Test
	public void deleteDocument() throws Exception {
		SolrServer solrServer = new HttpSolrServer("http://192.168.25.131:8080/solr/collection1");
		//删除文档
		//solrServer.deleteById("doc01");
		//域名+关键字
		solrServer.deleteByQuery("id:doc01");
		//提交
		solrServer.commit();
	}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值