环境:ubuntu18
+ springboot2.0
+ solr-8.0.0
java
先去官网下载solr:Index of /apache/lucene/solr/8.0.0
我这里下载的是zip的包,下载以后unzip命令解压获得下列文件:mysql
进入bin目录,执行sudo ./solr -start
命令,
这里可能遇到的错误有两个:web
export JAVA_HOME='你的JDK路径'
便可;-force参数
,错误信息以下:好吧,再次运行sudo ./solr start -force
,运行成功。spring
solr的默认端口是8983
,打开浏览器输入localhost:8983
,能够看到solr已经能够访问了~sql
选择左侧CoreAdmin
,再选择Add Core
,输入核心的名称和实例路径,后边三个默认就好。apache
点击Add Core提交信息,这里我遇到了一个错误信息,以下:ubuntu
意思是在核心目录下找不到相应的配置文件,解决办法:将下图的conf文件夹cope到新建立的core目录下 /usr/local/solr-8.0.0/server/solr/new_core2
。vim
从新点击Add Core,建立成功~浏览器
接下来导入MySQL中的数据,咱们会用到Solr自带的DIH(DataImportHandler)去进行数据导入。
这一步须要导入三个jar包(solr-dataimporthandler-8.0.0.jar
、olr-dataimporthandler-extras-8.0.0.jar
和mysql-connector-java-8.0.15.jar
),编辑三个文件(db-data-confg.xml
、solrconfig.xml
以及managed-schema
)。springboot
进入到/usr/local/solr-8.0.0/dist
目录,将solr-dataimporthandler-8.0.0.jar
和solr-dataimporthandler-extras-8.0.0.jar
复制到/usr/local/solr-8.0.0/server/solr-webapp/webapp/WEB-INF/lib
,再去mvn仓库下载一个mysql-connector-java的包,也复制到这里。
/usr/local/solr-8.0.0/example/example-DIH/solr/db/conf
目录,拷贝db-data-config.xml
到咱们刚才复制的conf文件夹内/usr/local/solr-8.0.0/server/solr/new_core2/conf
,能够随意修改一个文件名,也能够用他默认的,以下,我改为了mysql-db.xml
:编辑该文件vim mysql-db.xml
,将本来的内容修改为咱们本身的需求:
修改dateSource:
<dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/dbname" user="root" password="" />
加入entity:
solrconfig.xml
,添加以下信息:<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">mysql-db.xml</str> </lst> </requestHandler>
mysql-db.xml
就是刚才copy的db-data-config.xml
的文件名。
managed-schema
,加入<!-- custom fields--> <field name="title" type="string" indexed="true" stored="true"/> <field name="content" type="string" indexed="true" stored="true"/> <field name="labels" type="string" indexed="true" stored="true"/>
保存 --> 退出 --> 重启solr, sudo ./solr restart -force
再次打开localhost:8983
管理页面,选择新建立的核心 --> 选择 DateImport
--> 选择 full-import
全量导入 --> 提交 --> 点击Refresh刷新,能够看到导入成功的提示:
至此,数据导入就完毕了!
以后的文章咱们会加入中文分词以及如何在springboot项目中使用solr