搜索为将 -- solr 6.6 从入门到进阶 (二)

前言

上一篇已经介绍了 solr 的基本操作。
传送门: 搜索为将 -- solr 入门
现在介绍如何 与数据库 整合。

solr managed-scheme 文档

这个文档位于 solrhomenew_coreconf 下
如图所示 :

这个文档中可以设置一些属性,便于之后与数据库整合后,在搜索中使用。

1. Field

 

Name:指定域的名称
Type:指定域的类型 -- 指定使用的分词器。
Indexed:是否索引
Stored:是否存储
Required:是否必须
multiValued:是否多值,比如商品信息中,一个商品有多张图片,一个Field像存储多个值的话,必须将multiValued设置为true。

2. dynamicField

动态域,通过 通配符 进行匹配

3. uniqueKey

指定唯一键

id

其中的id 是在 Field标签 中已经定义好的域名,而且该域要设置为 required为true
一个 schema.xml 文件中必须有且仅有一个唯一键.

4. copyField

从已有的 field中直接复制属性,被复制的field 必须拥有multiValued = "true" 属性。

5. FieldType

也就是设置的 field 域的类型。通过各种分词器以及内置的类型设置。
常用类型都已经被设置好了,如下

如果还需要其他类型的 域 ,通过分词器设置。
可以参考我 之前的文章.
搜索为将 -- solr 入门
这里介绍了 将 smart_cn 以及 IKAnalyzer 设置为 相应的 field 域的方法.

solr 插件 -- DataimportHandler

第一步、

将 solr/dist 目录下的 solr-dataimporthandler.jar 文件拷贝到 solrhome/contrib/dataimporthandler/lib 目录下.
将 自己准备好的 mysql 连接的 jar 包 拷贝到 solrhome/contrib/db/lib 下



这里是用 linux 建立的服务器,所以使用了 xshell 中的 xftp,帮助对文件进行管理

第二步、

进入 core 文件夹 , 分别修改 solrConfig.xml 、 managed-scheme 文档
solrConfig.xml 文档下添加相应的内容

    
    
    

lib 的修改原则,我的上篇文章写的很清楚,不再阐述。

    
    
        
            
         
         
            
        
    
 
 
    
     
     
     
     
     
     
 
     
     
     
     
     

第三步、

同级目录下创建 data-config.xml 文件

在其中加入相应的内容



    
    
        
            
            
            
            
            
        
    

第四步、

然后打开 tomcat 。 进入网站 192.168.1.102:8080/solr/index.html,出现如下画面

按照我在图片上标明的 步骤 , 就可以达到如下的效果。

问题总结

问题:不同服务器部属后, mysql 的访问权限设置
详情:因为我的 solr 服务器是在 虚拟机上 通过 静态ip 地址的桥接设置的,所以 IP 地址与主机的 IP 地址不同,不能使用 localhost 作为 域名。当我使用 192.168.1.101 (注: 我主机的 IP 地址)时, mysql 的用户 root 没有相应的访问权限。如图:

解决:那么只需要重新创建一个用户,并赋予相应的权限即可。

这样,我们就拥有了 root@% 账户, % 代表着所有的域名。

结语

因为时间有限,先介绍到这里。
等下次有时间,将 solr 与 java 的整合,以及 solr cloud 一起进行总结。

stay hungry, stay foolish
与诸君共勉。
您的每一次点赞,关注都是对我的一种激励。

我的个人博客 -- killCode
谢谢。

你可能感兴趣的:(java,solr)