安装solr
1 直接安装solr
此次安装的版本为solr 7.3 LInux为cetos 7
-
下载solr
本地安装solr 连接
链接:https://pan.baidu.com/s/1ZjQY5sAABPacfYPD_N5JSQ
提取码:xezh在线安装
wget https://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/7.7.3/solr-7.7.3.tgz -
解压到指定目录并进入
tar -zxf solr-7.7.3.tgz
mv solr-7.7.3 /usr/local/solr
cd /usr/local/solr/

3.关掉防火墙
systemctl stop firewalld
4. 启动solr
bin/solr start -force (注意因为root用户默认不能启动solr所以在后面加上 -force)
3. 访问solr
4. 创建一个core
bin/solr create -c demo
刷新页面
- 布置中文分词器
-
解压ik-analyzer-8.3.0.jar
(注意需要用unzip没有请下载: yum -y istall unzip zip) -
unzip ik-analyzer-8.3.0.jar -d ik-analyzer-8.3.0
-
进入解压目录
cd ik-analyzer-8.3.0
-
执行一下命令 创建classes目录
mkdir /usr/local/solr/server/solr-webapp/webapp/WEB-INF/classes
5. 执行一下命令将这几个文件复制到classes目录cp dict/ dynamicdic.txt ext.dic IKAnalyzer.cfg.xml ik.conf stopword.dic /usr/local/solr/server/solr-webapp/webapp/WEB-INF/classes
-
6. 将ik-analyzer-8.3.0.jar 拷贝到lib下
cp ik-analyzer-8.3.0.jar /usr/local/solr/server/solr-webapp/webapp/WEB-INF/lib
7. 进入刚才创建的core的配置文件
cd /usr/local/solr/server/solr/demo/conf
vim managed-schema
:/fieldType
将下面的配置复制进去保存后退出:/wq
<fieldType name="text_ik" class="solr.TextField">
<!---->
<analyzer type="index">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
8. 重新启动slor
bin/solr start -force
(vim /usr/local/solr/bin/solr.in.sh
将SOLR_ULIMIT_CHECKS设置为false,消除WARN
)
访问slor
下面是使用
2 部署在tomcat上
3 从外部导入数据
- 用xml方式导入,出现一下情况
- 进入new_core下的conf文件下,创建my-data-config.xml文件
touch my-data-config.xml
- 编辑此文件
vim my-data-config.xml
将一下数据添加就去
<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
<dataSource name="source-materail" type="JdbcDataSource"
driver="com.mysql.jdbc.Driver" <!--数据库驱动-->
url="jdbc:mysql://127.0.0.1:3306/itripdb" <!--连接数据库 : itripdb是要连接的数据库-->
user="root" <!--数据库用户名-->
password="weifeng123456" /> <!--数据库密码-->
<document>
<!--
entity name -- name是唯一的,用以标识entity pk -- entity的主键,它是可选的,但使用“增量导入”的时候是必需。它跟schema.xml中定义的uniqueKey没有必然的联系,但它们可以相同。 query 查询sql语句
field column -- 数据库字段 name -- managed-schema中的字段
-->
<entity name="itrip_area_dic" pk="id" query="select id,name,areaNo from itrip_area_dic ">
<field column='id' name='id' />
<field column='name' name='name' />
<field column='areaNo' name='areaNo' />
</entity>
</document>
</dataConfig>
-
编辑managed-schema 将要查询的字段添加进去
把需要分词的中文改为中文用中文分词器
type="text_ik"
-
在solrconfig.xml设置
把一些代码在xml中加入
<requestHandler name="/dataimport" class="solr.DataImportHandler">
<lst name="defaults">
<str name="config">my-data-config.xml</str>
<!--<str name="update.chain">uuid</str> -->
</lst>
</requestHandler>
6. 这是重启tomcat重新访问solr
7. 下面是简单用法