`
kobe学java
  • 浏览: 257866 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

利用SOLR搭建企业搜索平台 之十(数据库数据导入到solr)

 
阅读更多

 

http://www.dzxiaoshuo.com 

solr不可谓是个好东西啊,越往下挖掘,他的各种功能逐渐的展现在我的面前,对于solr的架构人员,不得不令人佩服啊。 

几天前偶尔看到IBM developmentWorks上面的一片文章,看到了数据库数据的导入,以前我一直是这么认为的,像这种导入可以自己去写程序去导入。 

写程序 可以将数据读出100条,如果你的内存够大,可以是1000条甚至更多,然后放入Collection中,批量提交至solr。或者读取数据写入xml文件中,再将该文件提交到solr等等。但是,在我看到那一篇文章的时候,原来还有这么巧妙的招。 

废话不多说,入正题。 

一.首先准备好solr的dataimport功能需要的东西,在solr的下载包中。分别在: 
1》Solr-1.3.0\dist\apache-solr-dataimporthandler-1.3.0.jar 
2》E:\education\search\Solr-1.3.0\example\example-DIH\solr\ 
3》你是哪种数据库,提供该数据库的jdbc驱动。 

二.如果你还不会运行solr,请参考本人的前几篇博客。这里要做的是,先把E:\education\search\Solr-1.3.0\example\example-DIH\solr\下面的东西拷贝到solr的HOME目录,然后删除rss,这个是另外一个功能是导入rss订阅信息到solr中,确实很强,这都想到了。将jar文件,实际就两个拷贝到tomcat的webapps下面的solr的WEB-INF的lib文件夹下面。 

三.更改solr Home目录下的conf/solrconfig.xml,其实就是提交一个solrRequestHandler,代码如下: 
Xml代码   收藏代码
  1. <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">  
  2.     <lst name="defaults">  
  3.       <str name="config">C:\solr-tomcat\solr\db\conf\db-data-config.xml</str>  
  4.     </lst>  
  5.   </requestHandler>  


四.将solr Home目录下面的solrconfig.xml和schema.xml拷贝到db文件夹下面的conf中。 

五.修改db\conf\db-data-config.xml 
Xml代码   收藏代码
  1. <dataConfig>  
  2.         <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/tuitui" user="root" password="mysql"/>  
  3.     <document name="shop">  
  4.             <entity name="tuitui_shop" pk="shopId" query="select * from tuitui_shop">  
  5.             <field column="shopid" name="shopId" />  
  6.             <field column="shopName" name="shopName" />  
  7.             <field column="shopUrl" name="shopUrl" />  
  8.             <field column="keyword" name="keyword" />  
  9.             <field column="synopsis" name="synopsis" />  
  10.             <field column="province" name="province" />  
  11.             <field column="city" name="city" />  
  12.             <field column="domain" name="domain" />  
  13.             <field column="address" name="address" />  
  14.             <field column="coordinate" name="coordinate" />  
  15.             <field column="shopSspn" name="shopSspn" />  
  16.             <field column="phone" name="phone" />  
  17.             <field column="createTime" name="createTime" />  
  18.         </entity>  
  19.     </document>  
  20. </dataConfig>  


其中的意思我做简单解释,具体大家可以去看看官方wiki。 
document:一个文档也就是lucene的document这个没什么解释的; 
entity:主要针对的是一个数据库表; 
filed:属性column是数据库的字段,name是filed的名字,即schema中的field name 
http://wiki.apache.org/solr/DataImportHandler 

我的数据库表结构发出来: 
 

六.启动TOMCAT,输入地址进行导入,导入分为很多模式:我选用的全部倒入模式。 

http://localhost/solr/dataimport?command=full-import 
结果: 
00C:\solr-tomcat\solr\db\conf\db-data-config.xmlfull-importidle1202009-09-05 21:28:08Indexing completed.Added/Updated: 2 documents. Deleted 0 documents.2009-09-05 21:28:092009-09-05 21:28:090:0:0.579This response format is experimental. It is likely to change in the future. 

七.在去查询你刚才提交的数据,搞定。 

最后在说说这个功能。上面的例子只不过是很简单的一个部分。针对solr的MultiCore,通过配置db-data-config.xml也可以实现,还有多表,或者多表关联等等操作只要在db-data-config.xml配置清楚都可以进行数据的导入。 
在solr1.4中还有更多的扩展功能,这些功能为重建索引提供能很方便的操作。而且,datasource不单单指的是database,可以是xml文件,还可以是来自网络上的等等。
分享到:
评论

相关推荐

    solr7.4数据库导入Demo(mysql数据库)

    Solr是Apache Lucene项目的一个子项目...对于数据库导入,你需要在Solr的配置中设置DataImportHandler。在`server/solr/&lt;your_core&gt;/conf`目录下,编辑`managed-schema`或`schema.xml`文件,添加以下DIH配置: ```xml ...

    利用Solr搭建你的搜索引擎

    标题中的“利用Solr搭建你的搜索引擎”意味着我们将探讨Apache Solr这一开源全文搜索平台的搭建过程。Solr是基于Lucene库的,提供了一个高效、可扩展的搜索和导航功能,广泛应用于各种企业的数据检索需求。 Solr的...

    solr在tomcat下的搭建和配置数据库

    通过这种方式,可以有效地利用Solr强大的搜索功能对数据库中的数据进行高效检索,满足大数据量下的快速搜索需求。在实际应用中,根据具体的需求可能还需要进一步调整Solr的配置参数以优化性能。

    使用lucenesolr搭建Oracle数据库全文搜索服务.docx

    ### 使用Lucene Solr搭建Oracle数据库全文搜索服务 #### 一、基础知识介绍 - **Lucene**: 是一个高性能、全功能的全文检索引擎库。它为开发者提供了构建搜索应用程序所需的工具,但不提供完整的搜索应用。 - **...

    跟益达学Solr5之增量索引MySQL数据库表数据

    本教程以"跟益达学Solr5之增量索引MySQL数据库表数据"为主题,旨在教授如何利用Solr5来实现对MySQL数据库表数据的增量索引,以便在海量数据中快速检索。 首先,我们需要了解Solr的基本架构。Solr运行在Jetty服务器...

    solr集群搭建

    9. **数据导入**:使用Solr的数据导入处理程序(DIH)或者SolrJ库将数据导入到集合中。DIH支持多种数据源,如CSV、XML和数据库。 10. **监控与故障恢复**:通过ZooKeeper和Solr的监控界面检查集群健康状况。当节点...

    solr搜索引擎的使用介绍

    Solr搜索引擎的使用介绍 Solr,全称为Apache Solr,是Apache软件基金会的一个开源项目,基于Java开发,是一款高效、灵活且强大的全文检索服务引擎。它构建在Lucene库之上,提供了更高级别的企业级搜索功能,如...

    solr的搭建入门

    Apache Solr是一款开源的企业级搜索平台,由Apache软件基金会开发,它提供了全文检索、命中高亮、拼写检查、Faceted Search(分面搜索)等多种功能,广泛应用于网站内容搜索、电商商品检索等领域。本文将详细介绍...

    solr4.9开发所需jar包

    在Solr4.9中,DIH可以帮助开发者轻松地将大量数据导入到Solr中进行搜索,这对于需要实时或定期更新索引的应用来说尤其重要。 在开发Solr4.9时,开发者需要了解以下关键知识点: 1. **Solr核心概念**:如集合...

    solr集群搭建文档

    Solr集群搭建是一个复杂但重要的任务,它涉及到分布式搜索引擎的配置和管理,使得大量数据能够被高效、快速地检索。Solr是Apache软件基金会的一个开源项目,它提供了一个高性能、可扩展的全文检索平台,广泛应用于...

    solr服务器的搭建与配置实例

    Solr是一个高性能、可伸缩的企业级搜索引擎平台,它可以作为一个独立的服务运行,并且提供了丰富的API接口,支持多种编程语言,使得开发者能够轻松地集成搜索功能到现有的应用程序中。Solr的主要特点包括高度可配置...

    solr全文检索环境搭建

    为了进行全文检索,你需要将数据导入Solr。这可以通过Solr的Data Import Handler (DIH) 或者使用SolrJ Java库来实现。DIH可以从数据库或其他源导入数据,而SolrJ则允许你在代码中直接操作Solr。 **9. 查询与优化** ...

    solr课件还有安装原件

    在使用Solr时,通常需要一个后端数据库来存储原始数据,Solr通过数据导入工具(Data Import Handler, DIH)从这些数据库中提取数据并建立索引。这个SQL脚本可能用于初始化一个电子商务平台的商品数据库,这些商品...

    solr解压版安装包

    5. **上传数据**:Solr支持多种数据导入工具,如DataImportHandler(DIH),用于从数据库或其他数据源导入数据。通过`POST`请求将数据发送到Solr,或者使用`bin/post`脚本来批量导入XML、CSV或JSON格式的数据。 6. ...

    Solr技术分析及运用

    - DIH允许Solr从关系型数据库或其他数据源导入数据,建立索引。 - 在`solrconfig.xml`中配置数据源、查询语句和映射规则,以便Solr能读取和索引数据库中的数据。 通过上述步骤,可以建立一个基本的Solr环境,并...

    solr4.9.0.zip

    6. **多种数据源支持**:Solr可以通过各种数据导入工具(如DataImportHandler)连接到各种数据库,如MySQL、Oracle等,进行数据导入和索引建立。 7. ** faceted search(分面搜索)**:Solr支持分面搜索,可以为...

Global site tag (gtag.js) - Google Analytics