centos 6.4solr的安装及业务字段配置

导读:本篇文章讲解 centos 6.4solr的安装及业务字段配置,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1、简单介绍solr

        Solr是一个独立的企业及搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。特点是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。(本段来自百度O(∩_∩)O哈哈~)。

2、安装

   2.1、准备工作

    首先上传apache-tomcat-8.0.50.tar.gz,solr-4.10.3.tgz.tgz,IK Analyzer 2012FF_hf1(分词所需)到linux服务器。安装tomcat首先需要安装Java(没有请参考本人这篇文章——点击打开链接);解压缩tar.gz 文件  指令 ——tar -zxf solr-4.10.3.tgz.tgz 

2.2、安装

Ⅰ、把solr.war复制到tomcat的webapps下并改名为solr.war

[root@xxx solr-4.10.3]# cp dist/solr-4.10.3.war /usr/local/solr/tomcat-solr/webapps/solr.war

[root@xxx solr-4.10.3]# 

Ⅱ、进入tomcat的bin文件下启动tomcat

[root@xxx solr-4.10.3]# cd /usr/local/solr/tomcat-solr/bin/
[root@xxx bin]# ./startup.sh 
Using CATALINA_BASE:   /usr/local/solr/tomcat-solr
Using CATALINA_HOME:   /usr/local/solr/tomcat-solr
Using CATALINA_TMPDIR: /usr/local/solr/tomcat-solr/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_161
Using CLASSPATH:       /usr/local/solr/tomcat-solr/bin/bootstrap.jar:/usr/local/solr/tomcat-solr/bin/tomcat-juli.jar
Tomcat started.

[root@xxx bin]# 

查看启动日式

[root@xxx bin]# cd ../

[root@xxx tomcat-solr]# tail -f logs/catalina.out 

Ⅲ、关闭tomcat 

[root@xxx tomcat-solr]# cd bin/

[root@xxx bin]# ./shutdown.sh 

Ⅳ、删除solr.war [root@xxx webapps]# rm -rf solr.war 

Ⅵ、拷贝jar包

[root@xxx ~]# cd solr-4.10.3/example/lib/ext/
[root@xxx ext]# ll
total 552
-rw-r–r– 1 root root  16515 Feb  6  2014 jcl-over-slf4j-1.7.6.jar
-rw-r–r– 1 root root   4959 Feb  6  2014 jul-to-slf4j-1.7.6.jar
-rw-r–r– 1 root root 489884 May 26  2012 log4j-1.2.17.jar
-rw-r–r– 1 root root  28688 Feb  6  2014 slf4j-api-1.7.6.jar
-rw-r–r– 1 root root   8869 Feb  6  2014 slf4j-log4j12-1.7.6.jar
[root@xxx ext]# cp * /usr/local/solr/tomcat-solr/webapps/solr/WEB-INF/lib/

[root@xxx ext]# 

Ⅶ、创建solrhome 存放solr服务器所有配置文件的目录(创建在什么位置看自己心情本人放在/usr/local/solr)

将solr解压后的文件solr.4.10.3/example/下的solr文件中的所有文件复制到solrhome里

[root@xxx solr]# cp * /usr/local/solr/solrhome -r

然后修改solr工程里的web.xml告知solr工程solrhome的位置

[root@xxx tomcat-solr]# vim webapps/solr/WEB-INF/web.xml 

centos 6.4solr的安装及业务字段配置

打开画框框的注释修改后的样子是这样

centos 6.4solr的安装及业务字段配置

:wq退出保存。

启动tomcat(在浏览器输入ip:你的端口/solr)看到久违的solr界面,就安装成功啦。

centos 6.4solr的安装及业务字段配置

3、分词配置

    将分词所需要的jar包拷贝到solr工程

[root@xxx IK Analyzer 2012FF_hf1]# cp IKAnalyzer2012FF_u1.jar /usr/local/solr/tomcat-solr/webapps/solr/WEB-    INF/lib/

将IKAnalyzer.cfg.xml、ext_stopword.dic、mydict.dic复制到solr工程的classes下(若没有classes请手动添加)

[root@xxx IK Analyzer 2012FF_hf1]# cp ext_stopword.dic IKAnalyzer.cfg.xml mydict.dic /usr/local/solr/tomcat-solr/webapps/solr/WEB-INF/classes -r
[root@xxx IK Analyzer 2012FF_hf1]# 

注:扩展词典及使用词必须为utf-8,不能使用window 记事本编译

配置fileType

编辑/usr/local/solr/solrhome/collection1/conf的-rw-r–r– 1 root root 60689 Apr 12 12:02 schema.xml 

[root@xxx conf]# vim schema.xml 

在<schema></schema>标签的末尾添加以下内容

        <!–配置词典–>
        <fieldType name=”text_ik” class=”solr.TextField”>
                <analyzer class=”org.wltea.analyzer.lucene.IKAnalyzer”/>
        </fieldType>
        <field name=”item_title” type=”text_ik” indexed=”true” stored=”true”/>      
        <field name=”item_price”  type=”double” indexed=”true” stored=”true”/>
     <!–根据自己业务所需要的字段来配置,我这里就不多写了–>

        <!–配置复制字段–>
        <field name=”item_keywords” type=”text_ik” indexed=”true” stored=”false” multiValued=”true”/>
        <copyField source=”item_title” dest=”item_keywords”/>

 4、启动tomcat

[root@xxx local]# cd solr/tomcat-solr/bin/

[root@xxx bin]# ./startup.sh 

浏览器进入solr界面 选左侧collection1

centos 6.4solr的安装及业务字段配置

5、索引库维护

测试代码

public class SolrTest {
	@Test
	public void addDocument() throws Exception {
		//创建一连接
		SolrServer solrServer = new HttpSolrServer("http://你的ip:8085/solr");
		//创建一个文档对象
		SolrInputDocument document = new SolrInputDocument();
		document.addField("id", "test000");
		document.addField("item_title", "测试商品2");		
		//把文档对象写入索引库
		solrServer.add(document);
		//提交
		solrServer.commit();
	}
	@Test
	public void testSolr() throws SolrServerException, IOException{
		SolrServer solrServer=new HttpSolrServer("http://115.28.57.65:8085/solr");
		//solrServer.deleteById("test001");
		solrServer.deleteByQuery("*:*");
			solrServer.commit();
	}

添加完数据后就可以执行query查询啦。

solr没有修改只要再重新添加一条数据就会把原有数据覆盖掉。

删除数据

centos 6.4solr的安装及业务字段配置

删除solr索引数据,使用XML有两种写法:

<delete><id>1</id></delete>
<commit/>
<delete><query>id:1</query></delete>
<commit/>

 删除所有索引,这样写就可以了:

<delete><query>*:*</query></delete>
<commit/>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/18580.html

(0)

相关推荐

半码博客——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!