目录
一,简单部署
1.1 下载准备
官网下载http://lucene.apache.org/solr/
我这里下载的是windows下8.1版本;然后解压到一个目录,我这里是C:\solr-8.1.1
1.2,创建核心core
这里的核心可以理解为数据库,里面的cocument可以理解为表
在跟目录的server>solr目录总创建一个新的new_core,并且从实例配置路径C:\solr-8.1.1\server\solr\configsets\sample_techproducts_configs
将配置目录copy到创建的new_core中,否则后边创建core没有配置会报错
1.2 部署启动
solr自带服务器jeety,当然可以用tomcat,我这里使用自带的jeety
进入解压的bin目录,然后shift+鼠标右键进入cmd窗口;执行命令solr start启动solr
默认是8983端口,不过可以制定其他端口启动
关闭命令是solr stop -all
1.4 部署
登陆SolrAdmin进行创建核心,访问http://localhost:8983/solr
点击Add Core按钮创建即可
二,搭建中文分词器
2.1 下载配置
这里我将文件传到百度网盘了。
下载链接:https://pan.baidu.com/s/1_v_Ge4e6-xdnanETEJt8dA
提取码:cphu
如果没有百度网盘可以从这里下载,但是要积分:https://download.csdn.net/download/jc_benben/11390933
上传资源都要积分,没办法
下载完,将里面的两个jar包放到C:\solr-8.1.1\server\solr-webapp\webapp\WEB-INF\lib
目录没有就创建,下同
并且在new_core核心目录下创建一个lib目录也放上上面的目录
其他三个文件放到C:\solr-8.1.1\server\solr-webapp\webapp\WEB-INF\classes
修改配置文件1 : C:\solr-8.1.1\server\solr\new_core\conf\managed-schema,添加
<!-- ik分词器 -->
<fieldType name="text_ik" class="solr.TextField">
<!-- 索引分词器 -->
<analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
<!-- 查询分词器 -->
<analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
如果需要设置扩展字典和扩展停止字典,需要编辑下列路径的ext(扩展字典)和stopword(扩展停止字典)文件
2.2 测试
三,从数据库导入数据
3.1,mysql环境准备
这里以mysql为例,下载mysql版本的驱动,并反倒相应目录,可以参照上面第二步骤“搭建中文分词器”相应步骤
然后创建库表:
CREATE DATABASE db1 CHARSET utf8mb4;
DROP TABLE test1;
CREATE TABLE test1(
id INT PRIMARY KEY,
name1 VARCHAR(50),
age INT,
datatime DATETIME,
content VARCHAR(500),
content1 VARCHAR(500)
) CHARSET utf8mb4;
随便添加些数据,我的数据为
3.2,solr配置
修改C:\solr-8.1.1\server\solr\new_core\conf\solrconfig添加
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
修改C:\solr-8.1.1\server\solr\new_core\conf\data-config.xml,文件没有的话创建
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<!-- 数据库信息 -->
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/db1"
user="root" password="China"/>
<document>
<!-- document实体 -->
<entity name="test1" query="SELECT * FROM test1">
<!-- 数据库字段映射solr字段 -->
<field column="id" name="id"/>
<field column="name1" name="name1"/>
<field column="datatime" name="datatime"/>
<field column="age" name="age"/>
<field column="news_time" name="newsTime"/>
<field column="content" name="content"/>
<field column="content1" name="content1"/>
</entity>
</document>
</dataConfig>
配置C:\solr-8.1.1\server\solr\new_core\conf\managed-schema添加
<!--自定义的域-->
<FIELD NAME="name1" TYPE="string" indexed="true" STORED="true"/>
<FIELD NAME="datatime" TYPE="pdate" indexed="false" STORED="true" />
<FIELD NAME="age" TYPE="pint" indexed="false" STORED="true" />
<FIELD NAME="content" TYPE="text_ik" indexed="true" STORED="true" />
<FIELD NAME="content1" TYPE="text_general" indexed="false" STORED="true" />
最后进入界面导入数据:
3.3 测试
未完待续...