如何安装和配置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.查询数据