如何安装和配置solr

 

如何在linux上安装solr

一.安装solr

1.下载

地址 http://archive.apache.org/dist/lucene/solr/7.6.0/

2.上传到linux系统

3.解压

进入solr压缩包存放的文件夹

解压命令: tar -zxvf solr-7.6.0.tgz

4 移动到准备安装的路径下

一般我们会将自己安装的软件放在usr/local文件夹中

先在usr/local下创建solr文件夹

然后移动文件

​ 进入usr/local/solr文件夹查看时候操作成功

5.启动服务

​ 5.1 进入 solr-7.6.0/bin文件夹

​ 5.2输入启动命令 ./solr start, 会显示进程限制的警告信息

​ 5.3 通过修改solr.in.sh文件取消进程限制

将SOLR_ULIMIT_CHECKS改为false

​ 5.4 重启启动服务,可能会出现如图警告

​ 5.5 使用 ./solr restart -force 方式启动,出现Happy searching 代表启动成功.

6 访问

​ windows系统或linux系统浏览器上 输入192.168.1.4:8983/solr访问

​ 注意ip用你自己的linux服务器的ip

二 . 如何创建core

在solr中,每一个core代表一个索引库,里面保存索引数据以及配置信息

solr中可以有多个core,也就相当于mysql服务器下可以多个数据库

1 创建core文件夹

在solr-7.6.0/server/solr 文件夹下创建一个core文件夹 ,取名为goods

2 复制conf文件夹

​ 将solr-7.6.0/server/solr/configsets/_default下的conf文件复制一份到goods文件夹下

​ 我这里是进入到_default文件夹后复制(哪个目录都可以复制,注意路径就可以)

3 在solr页面添加core

三 添加中文分词器ik-analyzer

solr默认不支持中文分词

1 添加ik-analyzer-7.6.0.jar包

​ 下载的ik-analyzer-7.6.0.jar(之前windows里下载的拿过来用就可以,没有的找呆萌老师2398779723),上传到linux服务器

并复制到solr-webapp/webapp/WEB-INF/lib 目录中

2.修改goods文件夹里的配置文件managed-schema

​ 输入命令 vim server/solr/goods/conf/managed-schema 进入编辑状态

​ 添加如下内容到managed-schema文件中,并保存退出

<!-- ik分词器 -->
<fieldType name="text_ik" class="solr.TextField">
  <analyzer type="index">
     <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>
     <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
  <analyzer type="query">
     <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
     <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
</fieldType> 

3.重启服务器

进入bin文件夹,输入命令 ./solr restart -force

4.测试

四 导入数据库中数据

1.导入3个jar包

这里需要导入下载的mysql驱动包和solr-7.6.0/dist下的dataimporthandler-7.6.0.jar和dataimporthandler-extras-7.6.0.jar

先将mysql驱动包上传到linux

再复制到solr-7.6.0/server/solr-webapp/webapp/WEB-INF/lib下

进入solr-7.6.0/dist文件夹,复制dataimporthandler-7.6.0.jar和dataimporthandler-extras-7.6.0.jar

2.创建data-config.xml文件

先在goods/conf文件夹下创建mysql-db文件夹

再在mysql-db文件夹中创建data-config.xml文件

添加如下内容,并保存退出

注意 <?xml 前面不能有空格

<?xml version="1.0" encoding="utf-8" ?>
   <dataConfig>
       <dataSource type="JdbcDataSource"
        driver="com.mysql.jdbc.Driver"
        url="jdbc:mysql://192.168.1.4:3306/sc"
        user="root"
        password="Daimeng666="
       />


   <document>
       <entity name="goods" query="select goods_id,goods_name,sales_price,goods_img from goods">
              <field column="goods_id" name="id" />
              <field column="goods_name" name="goodsName" />
              <field column="sales_price" name="salesPrice" />
              <field column="goods_img" name="goodsImg" />
       </entity>
   
   </document>


   </dataConfig>

3.添加document中的字段

进入goods/conf文件夹,输入vim进去编辑状态

在goods/conf/managed-schema文件中添加

注意: id,version,root 不能删除, text 不需要 可以删除

​ 这里的id代表goodsId,不能改为goodsId

  <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
  <!-- docValues are enabled by default for long type so we don't need to index the version field  -->
  <field name="_version_" type="plong" indexed="false" stored="false"/>
  <field name="_root_" type="string" indexed="true" stored="false" docValues="false" />
  <field name="goodsName" type="text_ik" indexed="true" stored="true"  multiValued="false" />
  <field name="salesPrice" type="plong" indexed="true" stored="true"  multiValued="false" />
  <field name="goodsImg" type="string" indexed="true" stored="true"  multiValued="false" />      

保存并退出

4.导入data-config.xml文件

​ 在goods/conf/solrconfig.xml文件中添加

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

5.重启solr

6.导入数据

7.查询数据

 

posted @ 2022-11-22 23:30  呆萌老师  阅读(130)  评论(0编辑  收藏  举报