solr 与mysql 结合

来源:互联网 发布:单位无网络访问权限 编辑:程序博客网 时间:2024/05/21 15:41

昨天我把solr搭建起来了,今天们试一下把数库与solr结合起来 我用的是 mysql 数据库

说简单的就是在solr中配置一些数据库连接就行了

1:在apache-tomcat-7.0.47\bin\solr\collection1 中找到solrconfig.xml 文件(这个是solr的配置信息文件 组件与其他附件都在这里配置的)

[html] view plaincopy
  1. <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">      
  2.  <lst name="defaults">      
  3.   <str name="config">data-config.xml</str>      
  4.  </lst>      
  5. </requestHandler>    
  6. //把上面的代码插入到相对应的位置  
2:在相同目录下 增加数据库配xml文件:data-config.xml
[html] view plaincopy
  1. <?xml version="1.0" encoding="utf-8"?>      
  2. <dataConfig>    
  3.  <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"      
  4.    url="jdbc:mysql://192.168.1.100:3306/easytoo_product"      
  5.    user="easytoo_product"      
  6.    password="easytoo_product"/>    
  7.    <document name="cms">    
  8.       <entity name="view_blog" pk="pk_id" query="select a.id as id,a.name as name,a.code as code from t_product a">      
  9.           <field column="id" name="id" />      
  10.           <field column="name" name="name" />      
  11.           <field column="code" name="code" />    
  12.       </entity>    
  13.  </document>     
  14. </dataConfig>  

大家这个时候注意了:在<entity>标签中的
[html] view plaincopy
  1. <pre name="code" class="html">query="select a.id as id,a.name as name,a.code as code from t_product a"  

这个就是你要查询并创建索引的表格必须把字段列出来
[html] view plaincopy
  1. <field column="id" name="id" />   
这里对field 进行一些解析 中的 id 必须要在 schema.xml 文件中 <fields> 进行配置

如我在data-config.xml创建的name索引 就必须在schema.xml 文件中 <fields> 进行配置

[html] view plaincopy
  1. <field name="name" type="text_general" indexed="true" stored="true"/>  
这里的 type="text_general" 就是指你的分词类型 我用的是 text_general

如果你在data-config.xml 配置了一个 code 索引 但是你在schema.xml 文件中 <fields> 并没有配置那么索引是不会被创建起来的。


3:自然是导包了

将mysql的驱动文件mysql-connector-java-5.1.20-bin.jar添加到solr的war包中(tomcat7\webapps\solr\WEB-INF\lib),solr-dataimporthandler-4.3.1.jar 加入到tomcat7\webapps\solr\WEB-INF\lib 中。

4:启动tomcat 

出现这样的画面:



证明你已经成功了。

接下来我们开始连接数据库创建索引:


这个时候你需要按refresh status按钮 来刷新状态查看是否已经完成导入了


上图我们已经成导入228条数据,我的数据库表中也是228条。那么现在我们来测试一下索引查询


1 :查询这个不多说

2 q 是查询条件图中我写的 是 *:* 意思就是全部查询

这是我们看看data-confing.xml中我们配置的索引id、name 、 code 三个写法如下

id:xxxxxxxxxxx

name:杨帆(因为这里我配置的name 索引的分词类型是 text_general 所以这里不能使用 * 号查询)但是这些索引都是支持模糊查询的

3:sort 查询结果分页结果数这个不多说了

4:查询后返回的结果类型 :有json xml 等等

5:查询结果集


接下来我们将会在Eclipse中调用 solr 的相关接口!

0 0
原创粉丝点击