1、下载 solr
2、安装 启动 solr
-
(1)直接解压即可
-
(2)到解压后的文件下的 bin 目录下启动 cmd
-
(3)启动 solr
命令格式: solr start -p [port] port默认为8983 可以自己指定
启动命令: solr start
- (4)通过浏览器访问
http://localhost:8983/solr/
3、配置
- 用命令创建 core
solr create -c goods
- 用界面创建 core
- (1)手动创建一个 students 文件
- (2)到浏览器配置
创建后查看文件
4、配置自带的分词器
- 复制该 jar 包
- 粘贴刚复制的 jar 包到该位置
- 配置 managed-schema 文件
- 配置内容如下:
<!-- Chinese -->
<fieldType name="text_cn" 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>
- 保存后,重启 solr
solr restart -p 8983
- 然后重新到浏览器访问 测试
5、配置 ik 分词器
- ik-analyzer-7.7.0.jar 下载链接:
链接:https://pan.baidu.com/s/11WkHYVLLU2puAB79eHom_g
提取码:r03v
- 配置 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>
- 重新启动 solr
solr restart -p 8983
- 再次访问 测试
6、将数据库中的数据导入 solr
jar包链接
链接:https://pan.baidu.com/s/1DC4FAsrgYJHdP9I8cmQdkw
提取码:x6j8
(1)需要 MySQL 的 jar 包以及 solr-7.6.0\dist 下的 solr-dataimporthandler-7.6.0.jar 包
(2)将上面的jar包放到:solr-7.6.0\server\solr-webapp\webapp\WEB-INF\lib 目录下
(3)配置文件 data-config.xml
内容如下
<?xml version="1.0" encoding="utf-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/sc"
user="root"
password="123456"
/>
<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>
(4)配置文件 managed-schema
<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"/>
(5)配置文件 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>
- 重启 solr
- 再次访问