1安装
步骤可能会比较繁琐,大家一步步跟着来
1.1下载http://archive.apache.org/dist/lucene/solr/8.0.0/ 大家也可以下载其他的
1.2下载解压后将solr-8.0.0\server\solr-webapp\webapp 复制 到tomcat/webapp下.再将复制的webapp(solr8.0)改名为solr
1.3我们在f:盘下创建目录solr_home作为solr的工作区(尽量不要创建在tomcat下,我看很多教程有放在这里面)
1.4把solr-8.0.0\server\solr\目录下文件拷贝到solr_home
将\solr-8.0.0\server\lib\ext
\solr-8.0.0\server\lib下的5个jar包
F:\ProgramFiles\solr-8.0.0\dist下的
solr-dataimporthandler-6.4.1.jar、solr-dataimporthandler-extras-6.4.1.jar
mysql-connector-java-5.1.38(我们可以从maven库中找mysql驱动包)
导入到webapps\solr\WEB-INF\lib内
1.5如图 将solr8.0目录下的两个文件夹拷贝到solr_home
修改 \webapps\solr\WEB-INF下的web.xml
1.添加这个value就是solr_home的路径
2.注释权限代码
注释solr认证标签
注意是/ 在复制路径时一定要检查
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>F:/ProgramFiles/solr_home</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
复制solr-8.0.0\server\resources下的文件 到webapps\solr\WEB-INF\class(自己创建)
一个大坑我们复制的log4j,jar 但是log配置却是log4j2 一定要改成log4j
运行
http://localhost:8080/solr/index.html
2链接数据库
2.1我们把\solr-8.0.0\example\example-DIH\solr\db目录拷贝到solr_home改名为student进入后编辑core.properties 写入name=student (这是solr识别core的配置)
2.2\solr_home\student\solrconfig.xml文件内添代码(我们可以直接搜一下"/select")
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler" >
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
2.3在\solr_home\student\conf下创建data-config.xml
fileld要和数据库字段一致
<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/school?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false"
user="rootUser"
password="111"/>
<document name="testDoc">
<entity name="user" pk="id" query="select * from student">
<field column="id" name="id"/>
<field column="name" name="name"/>
<field column="age" name="age"/>
</entity>
</document>
</dataConfig>
导入数据
3.1启动tomcat服务
3.2添加字段
3.3 导入数据
3.4查询
4配置IK中文分词器
4.1下载地址
https://search.maven.org/search?q=com.github.magese
选择jar包下载
4,2复制到webapps\solr\WEB-INF\lib下
4.3solr_home下编辑当前core的managed-schema下面fieldType后面写入
<!-- 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>
4.4重启tomcat