安装配置
solr有很多版本,solr 5之前和之后有许多不同,我就下载最新的 solr 8.2 版本了,新的更好,页面是中文的,
下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/8.2.0/solr-8.2.0.zip
下载之后解压缩目录如下:
特别注意了:里边没有 war 包,和老板本不一样,如果你是老版本,不要看这篇。
- 启动:
进入bin目录,执行命令: solr start - 浏览器访问
http://localhost:8983/solr/
出现以下页面,可以看到 成功了。
进入到solr-8.2.0/bin 目录
- solr create -c collection
collection 是我们实例的名字,随意命名的。
页面也可以创建,但是不推荐,太容易报错了,简直就是坑,solr这点真是垃圾,非常不友好。
默认实例存放位置是这里
solr目录下是实例core,solr-webapp是服务端,我们稍后添加的jar包都放到solr-webapp里边。
solr实例目录,我建立了两个core,collection 和collection2
这一步需要导入三个jar包(solr-dataimporthandler-8.2.0.jar、olr-dataimporthandler-extras-8.2.0.jar和mysql-connector-java-8.0.15.jar),编辑三个文件(db-data-confg.xml 、solrconfig.xml以及managed-schema)。
进入到 solr-8.2.0/dist 目录,复制 solr-dataimporthandler-8.2.0.jar和olr-dataimporthandler-extras-8.2.0.jar,放到/solr-8.2.0/server/solr-webapp/webapp/WEB-INF/lib,再去mvn仓库下载一个mysql-connector-java的包,也复制到这里。
进入到实例目录,我们配置 collection,配置文件都在conf 目录下,
solr-8.2.0\server\solr\collection\conf 这个目录
- data-config.xml : 数据库连接文件,这个没有的,自己建个,名字随便定义
- managed-schema: solr域配置,以前叫 schema.xml,老版本的
- solrconfig.xml: 一些系统配置,把以上两个文件连接了起来。
分别配置如下;
- data-config.xml
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test"
user="root"
password="123456"/>
<document>
<entity name="student_info" query="select id, name,address from student">
<field column="id" name="id" />
<field column="name" name="s_name" />
<field column="address" name="s_address" />
</entity>
</document>
</dataConfig>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- managed-schema 添加
<field name="s_name" type="string" indexed="true" stored="true" />
<field name="s_address" type="string" indexed="true" stored="true" />
- 1
- 2
因为配置文件默认有了很多的field域,其中就包括 id,所以我们就没有添加。
- solrconfig.xml 添加
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
- 1
- 2
- 3
- 4
- 5
以上就配置好了,我们去页面导入数据
进入页面,采集就是我们建的collection 实例,页面翻译过来了帮我们,点击资料汇入,执行导入,可能有等待,
先选择表 student_info,然后执行。
完成之后,我们查询下刚才导入的数据