Solr-1

Posted 健哥说编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Solr-1相关的知识,希望对你有一定的参考价值。

LinuxSolr的快速安装与使用

Solr简介:

略。

 

1、下载Solr

 

Windows版本:http://mirrors.hust.edu.cn/apache/lucene/solr/7.4.0/solr-7.4.0.zip

Linux版本:http://mirrors.hust.edu.cn/apache/lucene/solr/7.4.0/solr-7.4.0.tgz

 

以下是在CentOS7上安装Solr7.42018-9-16最新版本)

 

 

2、在linux上安装solr

要求必须在linux上已经安装好了Jdk并配置了环境变量JAVA_HOME

 

1、解压

$ tar -zxvf ~/solr-7.4.0.tgz -C .

查看目录:

$ ls

bin          contrib  docs     licenses     LUCENE_CHANGES.txt  README.txt

CHANGES.txt  dist     example  LICENSE.txt  NOTICE.txt          server

其中serversolr的服务目录。

 

可选的配置环境变量:

export SOLR_HOME=/app/solr-7.4.0/server/solr

export PATH=$PATH:/app/solr-7.4.0/bin

注意上面的PATH并没有引用SOLR_HOME这个环境变量。

 

可以查看server下的配置文件,solr5.0开始使用内置的jetty服务器,默认端口为8983

2、启动Solr

使用solr start可以启动solr服务器如下:

$ solr start

*** [WARN] *** Your open file limit is currently 1024.  

 It should be set to 65000 to avoid operational disruption.

 If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh

*** [WARN] ***  Your Max Processes Limit is currently 4096.

 It should be set to 65000 to avoid operational disruption.

 If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh

NOTE: Please install lsof as this script needs it to determine if Solr is listening on port 8983.

 

Started Solr server on port 8983 (pid=2833). Happy searching!

 

3、访问8983端口

 

Solr-1

 

 

4、现在停止Solr服务器

$ solr stop

 

3、创建一个新的core

什么是core?

solrlucene外边做了一层厚厚的封装,主要是为了简化二次开发,提供了一些成熟的解决方案。

solr可以对多个core进行综合管理,并接受请求选择特定的一个或者多个core执行相关任务。

下面来回答什么是solrcore

core从文件结构的角度来看的话,主要包括

一份索引(也可能还包括拼写检查的索引)、一堆配置文件。

最主要的配置文件是:solrconfig.xmlschema.xml

1) solrconfig.xml从整体上对core进行了配置,(其实这个文件不需要太大的变更)

例如索引的存放路径、字段的最大长度(maxFiedlLength)、写锁的超时时间(writeLockTimeout)、锁类型(lockType)、是否压缩索引(useCompoundFile)、内存索引缓冲区大小(ramBufferSizeMB)、合并因子(mergeFactor)、删除策略、自动提交策略、缓存设置等,

它好比是一份组装机器人的说明书,里面详细描述了各个部件(handler)的参数。

2) schema.xml主要是对索引的配置,solr7.4中没有了扩展名。

例如分词器、字段名称+索引方法+存储方式+分词方式、唯一标识字段等,

它好比是机器人学习的学习方法,机器人主动或被动接受特定数据,按照配置转化成索引,然后通过其部件(handler)展示出来,

例如:searchmoreLikeThisspellCheckfactedSearcher等。

 

1、创建目录

$SOLR_HOME/server/solr目录下,创建一个目录:

[wangjian@hadoop51 solr]$ mkdir first_core

拷贝conf目录到first_core目录下去

[wangjian@hadoop51 solr]$ cp -r configsets/sample_techproducts_configs/conf/ first_core/

查看目录结构:

[wangjian@hadoop51 solr]$ ll first_core/

总用量 4

drwxr-xr-x. 6 wangjian wangjian 4096 9月  16 23:28 conf

 

2、启动solr

$ solr start

 

3、创建core

http://server:8983的页面上,点Core Admin,然后点添加:

 

Solr-1

点添加:

 

Solr-1

在弹出的页面上,输入所需的信息,注意instanceDir是刚才创建的目录名称:first_core。然后点Add Core按扭即可:

 

Solr-1

 

 

创建成功以后:

 

Solr-1

4、查看已经拥有的分词

选择已经创建的core可以查看它目前所拥有的分词和查询:

Solr-1

 

 

4、添加IK中文分词

1、停止服务器

$ solr stop

 

2、上传IK

 

Solr-1

将上面的两个包,放到$SOLR_HOME/server/solr-webapp/webapp/WEB-INF/lib目录下。

查看:

[wangjian@hadoop51 lib]$ pwd

/app/solr-7.4.0/server/solr-webapp/webapp/WEB-INF/lib

[wangjian@hadoop51 lib]$ ll | grep ik

-rw-r--r--. 1 wangjian wangjian 1167537 6月   5 2016 ik-analyzer-solr5-5.x.jar

-rw-r--r--. 1 wangjian wangjian     912 3月  31 2017 solr-analyzer-ik-5.1.0.jar

 

将以下三个文件,放到$SOLR_HOME/server/solr-webapp/webapp/WEB-INF/classes目录下:

 

Solr-1

 

3、添加分词

修改:/app/solr-7.4.0/server/solr/first_core/conf/managed-schema这个xml文件,添加以下内容:

 

 <fieldType name="text_ik" class="solr.TextField">

        <analyzer type="index" useSmart="false"

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

        <analyzer type="query" useSmart="true"

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

</fieldType>

如果还想添加smart_cn分词,请同样的也要上传smart_cnjar包放到lib目录下:

    <fieldType name="text_smartcn" class="solr.TextField">

        <analyzer type="index" useDefaultStopWords="true"

                class="org.apache.lucene.analysis.cn.smart.SmartChineseAnalyzer"/>

        <analyzer type="query" useDefaultStopWords="true"

                class="org.apache.lucene.analysis.cn.smart.SmartChineseAnalyzer"/>

</fieldType>

 

4、启动solr

$ solr start

 

5、测试IK分词器

如果出现以下效果,说明配置已经成功。

 

 

【部分结束】

 


以上是关于Solr-1的主要内容,如果未能解决你的问题,请参考以下文章