01 搜索服务器-solr搭建配置中文分析器并使用:centos,solr,IKAnalyzer,jdk7,tomcat,maven

一、solr环境安装

[root@localhost IK_Data]# ls
apache-tomcat-7.0.47.tar.gz  IKAnalyzer.cfg.xml          mydict.dic           zookeeper-3.4.6.tar.gz
ext_stopword.dic             jdk-7u55-linux-i586.tar.gz  NOTICE.txt
IKAnalyzer2012FF_u1.jar      LICENSE.txt                 solr-4.10.3.tgz.tgz

1、jdk安装

1.1、jdk下载
[root@bogon local]#  yum install java-1.7.0-openjdk
1.2、配置环境变量
[root@bogon local]# vim /etc/profile
  • 在配置文件中添加设置
#set java environment
JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
  • 重新加载配置文件
[root@bogon local]# source /etc/profile

2、tomcat安装

2.1、下载tomcat,并解压
[root@bogon local]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.0.52/bin/apache-tomcat-8.0.52.tar.gz 
[root@bogon local]# ls
apache-tomcat-8.0.52.tar.gz  games    lib      sbin       
bin                          include  lib64    share       src
etc                          java     libexec  wget-log
[root@bogon local]# tar zxf apache-tomcat-8.0.52.tar.gz 
https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.32/bin/apache-tomcat-8.5.32.tar.gz

3、solr安装

3.1、将solr中的war包复制到tomcat中:

solr文件路径:/usr/local/solr/solr-4.10.3/dist

[root@localhost dist]# pwd
/usr/local/solr/solr-4.10.3/dist
[root@localhost dist]# cp solr-4.10.3.war /usr/local/solr/tomcat/webapps/solr.war
3.2、启动tomcat解压war包:
[root@localhost dist]# cd /usr/local/solr/tomcat/bin/
[root@localhost bin]# ./startup.sh 
Using CATALINA_BASE:   /usr/local/solr/tomcat
Using CATALINA_HOME:   /usr/local/solr/tomcat
Using CATALINA_TMPDIR: /usr/local/solr/tomcat/temp
Using JRE_HOME:        /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64/jre
Using CLASSPATH:       /usr/local/solr/tomcat/bin/bootstrap.jar:/usr/local/solr/tomcat/bin/tomcat-juli.jar
3.3、删除war包
[root@localhost webapps]# ls
docs  examples  host-manager  manager  ROOT  solr  solr.war
[root@localhost webapps]# pwd
/usr/local/solr/tomcat/webapps
[root@localhost webapps]# rm -rf solr.war 
[root@localhost webapps]# ls
docs  examples  host-manager  manager  ROOT  solr
3.4、将example中的lib库复制到tomcat中
[root@localhost ext]# ls
jcl-over-slf4j-1.7.6.jar  log4j-1.2.17.jar     slf4j-log4j12-1.7.6.jar
jul-to-slf4j-1.7.6.jar    slf4j-api-1.7.6.jar
[root@localhost ext]# pwd
/usr/local/solr/solr-4.10.3/example/lib/ext
[root@localhost ext]# cp * /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/
[root@localhost ext]# 
3.5、创建solrhome
[root@localhost example]# pwd
/usr/local/solr/solr-4.10.3/example
[root@localhost example]# cp -r solr /usr/local/solr/solrhome
3.6、关联solrhome与tomcat
  • 修改web.xml
[root@localhost WEB-INF]# pwd
/usr/local/solr/tomcat/webapps/solr/WEB-INF
[root@localhost WEB-INF]# vim web.xml 
3.7、启动tomcat:
[root@localhost /]# cd /usr/local/solr/tomcat/bin/
[root@localhost bin]# ./startup.sh 
Using CATALINA_BASE:   /usr/local/solr/tomcat
Using CATALINA_HOME:   /usr/local/solr/tomcat
Using CATALINA_TMPDIR: /usr/local/solr/tomcat/temp
Using JRE_HOME:        /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64/jre
Using CLASSPATH:       /usr/local/solr/tomcat/bin/bootstrap.jar:/usr/local/solr/tomcat/bin/tomcat-juli.jar
3.8、打开防火墙:
[root@localhost bin]#  firewall-cmd --permanent --zone=public --add-port=8080/tcp
success
[root@localhost bin]# firewall-cmd --reload 
success
[root@localhost bin]# 
3.9、测试:访问地址:
http://192.168.58.247:8080/solr/#/

三、给solr配置中文分析器

1、将jar包复制到tomcat对应的solr的lib文件夹下面:

  • 文件夹地址:solr/tomcat/webapps/solr/WEB-INF/lib/
[root@localhost IK_Data]# cp IKAnalyzer2012FF_u1.jar /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/

2、复制配置文件到classes文件夹下

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

3、修改managed-schema 配置文件

  • 地址:/usr/local/solr/solrhome/configsets/_default/conf/schema.xml
[root@localhost IK_Data]# cd /usr/local/solr/solrhome/collection1/conf/
[root@localhost conf]# vim schema.xml 
  • 添加内容
 <fieldType name="text_ik" class="solr.TextField"> 

                <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
        </fieldType>

4、添加需要关联的数据库字段

  • 地址:/usr/local/solr/solrhome/configsets/_default/conf/schema.xml
         <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"/>

5、重启服务器:

[root@localhost bin]# ./startup.sh 
Using CATALINA_BASE:   /usr/local/solr/tomcat
Using CATALINA_HOME:   /usr/local/solr/tomcat
Using CATALINA_TMPDIR: /usr/local/solr/tomcat/temp
Using JRE_HOME:        /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64/jre
Using CLASSPATH:       /usr/local/solr/tomcat/bin/bootstrap.jar:/usr/local/solr/tomcat/bin/tomcat-juli.jar
[root@localhost bin]# pwd
/usr/local/solr/tomcat/bin

6、访问地址:

http://192.168.58.247:8080/solr/#/

五、测试使用solr

  • 采用maven方式创建项目

1、导入jar包:

         <dependency>
            <groupId>org.apache.solr</groupId>
            <artifactId>solr-solrj</artifactId>
            <version>5.5.3</version>
        </dependency>

2、java测试代码

    @Test
    public void addData() throws Exception{
        HttpSolrServer solrServer = new HttpSolrServer("http://192.168.58.247:8080/solr/");
        SolrInputDocument document = new SolrInputDocument();
        document.addField("id","solrtest01");
        document.addField("item_title","测试数据——title");
        document.addField("item_sell_point","测试数据--sell-point");
        solrServer.add(document);
        solrServer.commit();
    }
    @Test
    public void queryData() throws Exception{
        HttpSolrServer solrServer = new HttpSolrServer("http://192.168.58.247:8080/solr/");
        SolrQuery query = new SolrQuery();
        query.setQuery("*:*");
        QueryResponse response = solrServer.query(query);
        SolrDocumentList list = response.getResults();
        for (SolrDocument document: list  ) {
            System.out.println(document.get("id"));
            System.out.println(document.get("item_title"));
            System.out.println(document.get("item_sell_point"));
        }
    }
Solr基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎 课程特点毕业后接触的第一个中间件就是Solr,在工作中用处广泛,为了便于大家快速掌握该技能,开始录制相关课程,该专栏特点如下:1.采用Solr最新版本视频录制,全网最新课程(Solr8.1于2019年5月16日发布)2.技能点全网最全,会结合工作经验,项目中用到的技能点都会有所涉及,更新章节比较全面3.适用范围广,从零基础到高级架构以及分布式集群都涵盖,适用初级、高级、项目实战等多个层次开发者4.多种维度辅助学习,采用独立solr粉丝群辅助教学,学员问题会及时得到解决,程序员突破圈 打卡制度,督促学员学习关注后再购买、 关注后再购买、 关注后再购买课程能得到什么1.快速学习到最新版本的全文检索技术,从视频、文章、圈子、粉丝交流等快速促进学习2.通过该技术,获得面试进阶指导3.结交人脉(庞大的粉丝群)..End初期学员100人,价格不会太高,也是为了帮助更多的开发者但是个人精力有限,所以限制条件如下1.求知欲强,有想向技术更深一层了解的2.乐于交流,喜欢探讨技术者3.学习惰性者慎入,购买后会督促大家学习,购买不是目的,学习到该技能才是该专栏的主要目的正式进入学习状态了吗,专栏群见。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值