Heim  >  Artikel  >  Datenbank  >  Solr与Mysql简略集成

Solr与Mysql简略集成

WBOY
WBOYOriginal
2016-06-07 16:24:19975Durchsuche

Solr与Mysql简单集成 Solr与Mysql数据库的集成,实现全量索引、增量索引的创建。 基本原理很简单:在Solr项目中注册solr的DataImportHandler并配置Mysql数据源以及数据查询sql语句。当我们通过Solr后台控制页面或者直接访问某个地址(后面给出),Solr就会调

Solr与Mysql简单集成
Solr与Mysql数据库的集成,实现全量索引、增量索引的创建。
基本原理很简单:在Solr项目中注册solr的DataImportHandler并配置Mysql数据源以及数据查询sql语句。当我们通过Solr后台控制页面或者直接访问某个地址(后面给出),Solr就会调用DataImportHandler,连接数据库,根据sql语句查询数据,创建索引。

示例solr版本:solr4.3.1
约定Solr的安装目录,如E:\environment\solr-4.3.1为solr-home。


1. 拷贝jar包
将DataImportHandler所在的jar包和mysql的数据库驱动包Copy到solr-home/dist目录下。默认情况下该目录下已存在DataImportHandler所需的两个jar包。该Solr版本对应的jar包名字是:solr-dataimporthandler-4.3.1.jar、solr-dataimporthandler-extras-4.3.1.jar

2. 修改solr-home\example\solr\collection1\conf\solrconfig.xml文件
a. 增加所需jar包引用配置:
<lib dir="../../../dist/" regex="solr-dataimporthandler-.*\.jar"></lib>
<lib dir="../../../dist/" regex="mysql-connector-java-.*\.jar"></lib>


b. 增加resultHandler配置
<requesthandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">      
		<lst name="defaults">      
			<str name="config">data-config.xml</str>      
		</lst>      
</requesthandler>


3.  在solrconfig.xml的同级目录下创建data-config.xml文件,配置数据库连接和Solr与mysql数据的对应关系和查询语句。
<dataconfig>  
  <datasource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1/dbname" user="root" password="root"></datasource>  
   <document name="search_object"> 
      <entity name="talent" query="select id, gender, qq, msn, anualSalary, updateTime, addUserId
              from talent">  
        <field column="anualSalary" name="salary"></field>  
        <field column="addUserId" name="userId"></field>  
   
		<!--Talent Names-->
        <entity name="talent_name" query="select value from talentname where talentId='${talent.id}'">  
          <field column="value" name="name"></field>  
        </entity>  
      </entity>  
   </document>  
</dataconfig> 


4. 重启Solr。
批量导入(full-import):
http://:/solr/dataimport?command=full-import&commit=y
   
增量导入(delta-import):
http://:/solr/dataimport?command=delta-import&commit=y
   
导入状态查询(status):
http://:/solr/dataimport
   
重新装载配置文件(reload-config):
http://:/solr/dataimport?command=reload-config
   
终止导入(abort):
http://:/solr/dataimport?command=abort
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn