一、环境
mysql5.1
###二、认识solr域
1、域的类型- fieldType:
name:域的名称
class:指定solr的类型
indexed:是否做索引
2、域的定义- field:
name:域的名称
type:域的类型,必须匹配类型 如:string,int
indexed:是否做索引
stored:是否存储
required:是否必填,一般只有id才会设置
multiValued:是否允许存多个值,允许则里面的值采用数组的方式来存储
3、动态域- dynamicField:
该域的名称是通过一个表达式来指定的,只要符合这个规则,就可以使用这个域。比如 a_i,b_i,c_i等等
name:域的名称
三、配置 dataimport
在使用solr界面查询mysql数据时,需要先把数据载入到solr,建立索引后,才能查询数据,所以需要使用到solr的dataimport(导入数据库数据)功能。
这里配置的solr自动生成ID,可以看我另一篇博客:Solr6.6.0 自动生成ID
1、首先找到solr-6.6.0\dist\solr-dataimporthandler-6.6.0.jar,把这个文件复制到apache-tomcat-8.0.9\webapps\solr\WEB-INF\lib下,并且找到mysql数据库的驱动包,也同样放到该目录。
2、找到solr-6.6.0\example\example-DIH\solr\db\conf\db-data-config.xml,把其复制到solr_home\solr\my_core\conf下
3、找到solr_home\solr\my_core\conf\solrconfig.xml,打开并编辑如下代码:
solr-data-config.xml
改为咱们复制的db-data-config.xml
db-data-config.xml
uuid
4、打开并编辑db-data-config.xml,完整的配置文件如下
在配置数据库连接是讲url里的特殊符号要做转义,否则会报错
四、启动solr
1、参数 注意的是这里的command参数,它有两个选项
full-import:全量导入,它会覆盖原有的索引
delta-import:即增量导入,它会在原有索引的基础上追加
下面的几个多选框含义解释如下:
verbose:这个选项设为true的话,会打印导入的一些中间过程的详细信息,有利于调试以及了解内部操作细节
clean:表示是否在导入数据创建索引之前先清空掉原有的索引
commit:表示是否立即提交索引
optimize:表示是否优化索引
debug: 表示是否开启调试模式
2、点击蓝色的按钮,执行导入,导入过程依据数量量的大小,需要的时间也不同。如果数据量小,等待时间过长, 那就不要傻傻的等了,看看Loging中的日志信息是不是报错了。
成功导入如下图:
3、检索数据