下载地址
solr : solr官网地址
部署
由于solr默认带有jetty服务器,所以使用默认jetty服务器
-
解压后的目录结构
启动
cd solr-6.4.2;
bin/solr start -p [端口名];
bin/solr stop -p [端口名];
bin/solr restart -p [端口名];
启动成功后的页面
- http://localhost:8983/solr
创建core
core 是存储索引的地方
这次是连接mysql,到
/Users/wangxun/Downloads/solr-6.4.2/server/solr/configsets
复制data_driven_schema_configs
文件夹mycollect
为了导入数据和链接mysql,我们还需要导入两个重要的jar包。由于mysql的jar包并没有在项目中,我是复制了一份放到了dist目录下面了。另外两个需要的jar包就是dist目录下带有“dataimport”标识的jar包。
然后打开myCollections/conf/solrconfig.xml,引用上面提到的jar包,如下。
之前我引入的是5.1.20,一直报错。后来更换了jar就可以了
建立表
将表跟solr的实体对应上。
myCollections/conf/solrconfig.xml
,搜索
,然后在该行之上添加如下代码。
data-config.xml
- 配置
data-config.xml
文件
dataSource是数据库数据源。Entity就是一张表对应的实体,pk是主键,query是查询语句。Field对应一个字段,column是数据库里的column名,后面的name属性对应着Solr的Filed的名字。其中solrdata是数据库名,goods是表名。
其中deltaQuery是增量索引,原理是从数据库中根据deltaQuery指定的SQL语句查询出所有需要增量导入的数据的ID号。然后根据deltaImportQuery指定的SQL语句返回所有这些ID的数据,即为这次增量导入所要处理的数据。核心思想是:通过内置变量“${dih.delta.id}”和 “${dataimporter.last_index_time}”来记录本次要索引的id和最近一次索引的时间。
- managed-schema配置field信息
-
创建core
-
执行
-
查询测试