solr安装记录

Posted shiwanming

tags:

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

[[email protected] bin]# ./solr start -force
*** [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 29967.
 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
Waiting up to 180 seconds to see Solr running on port 8983 [|]  
Started Solr server on port 8983 (pid=22343). Happy searching!

[[email protected] bin]# cd ..

 

 

 

一、准备环境

1、一台linux服务器(Centos7)
2、安装jdk8环境

3、准备solr7.8安装包

二、安装(我这里使用的是solr自带的应用容器,也可以集成到tomcat)

1)从官网下载最新solr

wget http://mirrors.shuosc.org/apache/lucene/solr/7.4.0/solr-7.4.0.tgz

2)解压,安装

tar -zxvf solr-7.2.0.tgz

3)相关命令

    bin/solr stop -all         关闭solr服务
    bin/solr start -force         开启solr服务
    bin/solr status            查看solr服务状态

三、使用solr

1、点击Core Admin

这里写图片描述

2、按照步骤去创建,然后点击确认会出现

这里写图片描述

3、这个错误是因为找不到对应的配置文件,进入server/solr/configsets/_default/直接把里面的conf 复制到 你新建的core中 你新建的core在server/solr目录下

命令如下:
1、进入到server/solr/configsets/_default下

cd /usr/local/install/solr7.4.0/server/solr/configsets/_default/

2、然后复制到新建的test中

cp -r conf /usr/local/install/solr7.4.0/server/solr/test/

3、到这儿core已创建好,相应的操作可以去网上寻找,我在这就不详细说明

三、连接mysql数据库

1)首先处理jar

mysql-connector-java-x.x.x.jar    solr-dataimporthandler-extras-5.1.0.jar    solr-dataimporthandler-7.1.0.jar

拷贝到 solrserversolr-webappwebappWEB-INFlib 下

1)配置连接信息

找到你新建的 core 下的solrconfig.xml文件(solrconfig.xml 文件所在目录是: solrserversolr estconf),打开找到第一个requestHandler,在他下面加入如下内容

    <requestHandler name="/dataimport"
         class="org.apache.solr.handler.dataimport.DataImportHandler">
           <lst name="defaults">
              <str name="config">data-config.xml</str>
           </lst>
    </requestHandler>

再在你创建的core目录的conf下创建data-config.xml文件,内容如下

    <?xml version="1.0" encoding="UTF-8"?>
    <dataConfig>
        <dataSource type="JdbcDataSource"
                    driver="com.mysql.jdbc.Driver"
                    url="jdbc:mysql://192.168.1.105:3306/solr"
                    user="root"
                    password="root" />
        <document>
            <entity name="person" query="select * from user">
                <field column="ID" name="id" />
                <field column="name" name="name" />
                <field column="passward" name="passward" />
            </entity>
        </document>
    </dataConfig>

        dataSource不多说,一看就明白,

        entity --代表数据库表,column--代表数据库表字段,name--代表solr中字段名

        (注意:创建这个文件的时候第一行不能有空格或者空行,否则报错)

在managed-schema文件中添加对应于数据库字段的field,建议在 solr 可视化界面操作。当然,一定要手动修改 managed-schema 文件也不是不可以,但是每次更改完需要重新加载 Core,或者粗暴一点直接重新启动solr也可以。那么,直接修改 managed-schema 文件的。到这里你应该能联系上数据库了,也可以导入数据了。
---------------------  
作者:csdn_hzl  
来源:CSDN  
原文:https://blog.csdn.net/csdn_huzeliang/article/details/80876200  
版权声明:本文为博主原创文章,转载请附上博文链接!

 


 

 

solr 7配置中文分词器


????这里示例配置solr官方提供的Smartcn的中文分词、IK的中文分词及拼音分词

1、配置smartcn中文分词器

    solr安装包有提供Smartcn中文分词架包,在SOLR_ROOT/contrib/analysis-extras/lucene-libs/下,我这里使用solr 7.2.1,所以架包名称为lucene-analyzers-smartcn-7.2.1.jar

    把smartcn中文分词器架包复制到solr项目的WEB-INF/lib目录下

cp /usr/local/solr-7.2.1/contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-7.2.1.jar /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/

    1

    配置 fieldType

    找到solrhome/${collection}/conf/managed-schema
    添加smartch中文分词器配置

 <schema>
    <!-- 配置中文分词器 -->
    <fieldType name="text_smartcn" class="solr.TextField" positionIncrementGap="100">
        <analyzer type="index">
            <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
        </analyzer>
        <analyzer type="query">
            <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
        </analyzer>
    </fieldType>
</schema>

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11

    重启tomcat

        新添加架包一定要重启tomcat

    查看效果
    smart中文分词效果

2、配置IK Analyzer中文分词器

先下载 IK Analyzer中文分词器架包及相关配置文件。
听说I分词器不支持**solr 6、7搭建成的**solrcloud,待验证。
这里写图片描述
里面包括IK Analyzer 2个架包:ik-analyzer-solr5-5.x.jar、solr-analyzer-ik-5.1.0.jar

IK配置文件 IKAnalyzer.cfg.xml、ext.dic、stopword.dic

IKAnalyzer.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">  
<properties>  
    <comment>IK Analyzer 扩展配置</comment>
    <!--用户可以在这里配置自己的扩展字典 -->
    <entry key="ext_dict">ext.dic;</entry>

    <!--用户可以在这里配置自己的扩展停止词字典-->
    <entry key="ext_stopwords">stopword.dic;</entry>

</properties>

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11

准备IK中文分词器环境

    把IK中文分词器架包复制到solr项目的WEB-INF/lib目录下
    把IK分词器相关配置文件复制到solr项目WEB-INF/classes/ 目录下
    这里写图片描述

配置 fieldType

找到solrhome/${collection}/conf/managed-schema
在solr scheam文件中里添加 IK fieldType。

<schema>
  <!-- IK分词 -->
  <fieldType name="text_ik" class="solr.TextField">
    <analyzer type="index">
      <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="false"/>
    </analyzer>
    <analyzer type="query">
      <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="false"/>
    </analyzer>
  </fieldType>
</schema>

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11

    说明:当 useSmart=”false”,分词粒度较小,分词后个数多;当 useSmart=”true”,分词粒度大,分词后个数据少。

效果

分词的效果比官方提供的smartcn中文分词要好,去掉了标点符号,去掉了 的 等词义不重要的字。
这里写图片描述
3、拼音分词器

先下载 IK拼音分词器架包:pinyin4j-2.5.0.jar、pinyinAnalyzer4.3.1.jar
把相关架包复制到solr项目的WEB-INF/lib目录下
配置fieldType

找到solrhome/${collection}/conf/managed-schema
在solr scheam文件中里添加 IK fieldType

<schema>
 <!-- IK 拼音分词 -->
 <fieldType name="text_pinyin" class="solr.TextField" positionIncrementGap="0">
    <analyzer type="index">
        <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory"/>
        <filter class="com.shentong.search.analyzers.PinyinTransformTokenFilterFactory" minTermLenght="2" />
        <filter class="com.shentong.search.analyzers.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" />
    </analyzer>
    <analyzer type="query">
        <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory"/>
        <filter class="com.shentong.search.analyzers.PinyinTransformTokenFilterFactory" minTermLenght="2" />
        <filter class="com.shentong.search.analyzers.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" />
    </analyzer>
 </fieldType>
</schema>

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15

效果

这里写图片描述
---------------------  
作者:写代码的蓝胖子  
来源:CSDN  
原文:https://blog.csdn.net/huangliuyu00/article/details/79491513  
版权声明:本文为博主原创文章,转载请附上博文链接!


























































































































































































































































































以上是关于solr安装记录的主要内容,如果未能解决你的问题,请参考以下文章

点滴记录——Ubuntu 14.04中Solr与Tomcat整合安装

Solr 部署与使用踩坑全记录

Solr安装(单机版)

Apache Atlas 2.1.0编译打包安装记录

[Linux] linux下安装配置 zookeeper/redis/solr/tomcat/IK分词器 详细实例.

Solr 如何删除数组中除记录外的所有记录?