目录
注意:需要JAVA_Home的配置
一、下载安装solr8
1.1下载
官网地址:http://lucene.apache.org/solr/downloads.html
1.2安装
1. 将下载好的安装包解压到一个没有空格,没有中文的路径,如图,我解压到了D盘自己新建的solr文件夹下
2. ctrl + r,输入cmd,进入到solr的bin文件夹下,运行命令
solr.cmd start
附:
关闭solr的命令为:
solr.cmd stop -all
运行成功后的界面如下:
以上界面说明solr服务器已经正常启动,打开浏览器,访问页面:http://127.0.0.1:8983/solr ,可以看到如下页面(可能需要稍等片刻才会出现此页面)
二、创建分词库
2.1 创建article
使用如下命令(官方推荐)
solr.cmd create -c articles
可以看到创建成功的文件目录:
2.2 尝试分词操作
打开浏览器,在下拉列表中选择分词操作-article,然后选择Analysis,输入想要进行分词的文本,在Analyse Fieldname / FieldType处选择_text_,点击Analyse Values,会出现分词的结果。可以看到几乎和没分一样。这是因为我们没有安装合适的中文词库。
2.3 安装中文分词库
2.3.1 下载
下载地址:https://search.maven.org/search?q=com.github.magese
2.3.2 配置
1.将下载好的分词库拷贝到/solr-8.2.0/server/solr-webapp/webapp/WEB-INF/lib 路径下
2.打开/solr-8.2.0/server/solr/articles/managed-schema 文件,在文件末尾</schema>之前添加以下代码:
<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.重启solr服务,命令为:
solr.cmd restart
2.3.3 使用手动安装的中文分词库进行分词操作
1. 打开浏览器,重新输入语句,选择刚刚下载拷贝到solr下的ik
2. 分词结果如下:
三、连接mysql数据库
3.1准备工作
3.1.1 拷贝包
将D:\solr\solr-8.2.0\dist下的两个jar:solr-dataimporthandler-8.2.0.jar 和 solr-dataimporthandler-extras-8.2.0.jar 以及 mysql-connector-java.jar 拷贝到D:\solr\solr-8.2.0\server\solr-webapp\webapp\WEB-INF\lib文件夹下
3.1.2 修改配置文件solrconfig.xml
修改D:\solr\solr-8.2.0\server\solr\articles\conf\solrconfig.xml
打开文件,找到下面语句的位置
<requestHandler name="/select" class="solr.SearchHandler">
在该语句的上方添加如下语句:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
如图:
3.1.3 新建data-config.xml文件
在路径D:\solr\solr-8.2.0\server\solr\articles\conf下新建data-config.xml文件,文件内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource name = "source1" type = "JdbcDataSource" driver = "com.mysql.jdbc.Driver"
url = "jdbc:mysql://localhost:3306/test" user="root" password = "123456"
encoding="UTF-8"/>
<document>
<entity name = "articles" processor = "SqlEntityProcessor" pk="id"
query = "select id,name from articles">
<field name = "id" column = "id"/>
<field name = "name" column = "name"/>
</entity>
</document>
</dataConfig>
3.1.4 修改文件managed-schema
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="name" type="text_ik" indexed="true" stored="true"/>
3.1.5 建表
确保数据库中有表articles,且有id和name属性
3.2运行
1. 重启服务
2. 重启后打开浏览器进入到solr页面
3.done
四、连接云端数据库
连接名后面加上:?useSSL = false