`
qiaqia26
  • 浏览: 3795 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

利用SOLR从数据库创建索引

阅读更多
转自原路径《http://liuquanjc.iteye.com/blog/870634》--因里面有的路径与下载的文件结构不同,故修改后保存到博客已便以后使用
---这里这连接MYSQL的

solr功能非常强大,可以建立各种数据的索引,常见的企业应用中,少不了数据库的索引的创建,可以通过写程序 可以将数据读出100条,如果你的内存够大,可以是1000条甚至更多,然后放入Collection中,批量提交至solr。或者读取数据写入xml文件中,再将该文件提交到solr等等。但是,solr也只带了数据库创建索引的功能,步骤如下:

一、通过solr自带的example
准备工作:
1、在apache官网下载 apache-solr-1.3.0.zip
2、下载mysql、hsql驱动(下面例子会用到)

环境描述:
1、tomcat版本 6.0.29  位置:D:\tomcat6.0.29   设置环境变量:CATALINA_HOME=D:\tomcat6.0.29
2、jdk1.5

步骤:
1、解压缩apache-solr-1.3.0.zip copy apache-solr-1.3.0\example\solr  文件夹到D:\tomcat6.0.29,目录结构为D:\tomcat6.0.29\solr
2、copy apache-solr-1.3.0\dist\apache-solr-1.3.0.war到D:\tomcat6.0.29\webapps\,兵将apache-solr-1.3.0.war改为solr.war,tomcat会自动解压缩该文件,生成solr文件夹,copy上面下载的mysql、hsql驱动包到D:\tomcat6.0.29\webapps\solr\WEB-INF\lib下
3、copy apache-solr-1.3.0\example\solr里面内容到 D:\tomcat6.0.29\solr里面--(原文第三步到这里就结束了- 但因第四步无法继续 所以我把下载到的apache-solr-1.3.0\example\example-DIH\solr里的内容复制到D:\tomcat6.0.29\solr下)

4、删除D:\tomcat6.0.29\solr\rss,修改D:\tomcat6.0.29\sorl\solr.xml  文件,去掉<core default="true" instanceDir="rrs" name="rrs"></core>该行
5、copy apache-solr-1.3.0\example\example-DIH内的hsqldb.zip 目录到D:\tomcat6.0.29,解压缩hsqldb.zip到当前文件夹,改文件为hsql数据库文件
6、到此,完成,

运行测试:
开始-运行  cmd  进入命令行,切换目录到D:\tomcat6.0.29,输入bin\startup.bat,启动tomcat6,如果上面配置无误,可以查看tomcat日志看是否有错误,确定无错后,在浏览器输入http://127.0.0.1:8080/solr/db/dataimport?command=full-import,既可以看到输出


二、测试mysql数据库
环境和创建的文件夹延续上面的
步骤:
1、在D:\tomcat6.0.29\solr下创建mysqltest文件夹,copy D:\tomcat6.0.29\solr\db 里面的内容到D:\tomcat6.0.29\solr\mysqltest
2、修改D:\tomcat6.0.29\solr\solr.xml文件内容为
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<solr sharedLib="lib" persistent="true">
    <cores adminPath="/admin/cores">
        <core default="true" instanceDir="mysqltest" name="mysqltest"></core>
    </cores>
</solr>
3、修改D:\tomcat6.0.29\solr\mysqltest\conf\db-data-config.xml 内容为:
<dataConfig>
     <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/test" user="root" password=""/> 
     <document name="mybook"> 
             <entity name="book" pk="id" query="select * from book"> 
             <field column="id" name="id" /> 
             <field column="bookname" name="bookname" /> 
             <field column="bookathor" name="bookathor" />
         </entity> 
     </document>
</dataConfig>
4、因为bookname、bookathor2个字段在D:\tomcat6.0.29\solr\mysqltest\conf\schema.xml不存在,所以,要增加着2个field
<field name="bookname" type="string" indexed="true" stored="true" required="true" />
   <field name="bookathor" type="string" indexed="true" stored="true" required="true" />
注意:在该文件有<field  的地方增加,

5、将D:\tomcat6.0.29\solr\mysqltest\conf\solrconfig.xml
中<dataDir>${solr.data.dir:./solr/db/data}</dataDir>
改为<dataDir>${solr.data.dir:./solr/mysqltest/data}</dataDir>

6、到此完成
运行测试:
开始-运行  cmd  进入命令行,切换目录到D:\tomcat6.0.29,输入bin\startup.bat,启动tomcat6,如果上面配置无误,可以查看tomcat日志看是否有错误,确定无错后,在浏览器输入http://127.0.0.1:8080/solr/mysqltest/dataimport?command=full-import,既可以看到输出。通过上面访问,就创建了数据库索引
可以访问http://127.0.0.1:8080/solr/mysqltest/admin/,在Query String: 输入id:搜索内容(格式为  要搜索的字段:搜索关键字)来测试是否已经将数据表中的数据建立了索引,也可以在该界面修改搜索的参数

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

相关推荐

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

    在这个主题“跟益达学Solr5之增量索引MySQL数据库表数据”中,我们将深入探讨如何利用Solr 5来实现对MySQL数据库表数据的增量索引,以便在搜索时获得实时更新的结果。 首先,我们需要理解什么是增量索引。在传统的...

    hbase+solr创建二级索引完整操作

    本文档详细介绍了如何利用HBase和Solr创建二级索引的过程。通过整合HBase与Solr的优势,可以构建高性能的数据存储与检索系统。HBase作为分布式列族数据库,能够处理海量数据,并提供快速随机读写能力。而Solr则是一...

    Solr 查询,索引

    在实际项目中,MySearch可能是一个自定义的搜索系统,利用Solr的查询和索引功能,构建一个高效的全文检索服务。例如,可以创建一个名为"MySearch"的Solr集合,配置相应的字段类型和分析器,然后将数据库中的数据导入...

    跟益达学Solr5之从MySQL数据库导入数据并索引

    总结,通过学习这篇文章,我们可以掌握如何利用Solr 5与MySQL的集成,有效地将数据库中的数据导入到Solr中建立索引,并进行高效查询。同时,了解Solr的基本概念、配置和操作流程,对于构建基于Solr的全文搜索引擎...

    利用Solr搭建你的搜索引擎

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

    Solr3.6用DIH组件进行MySQL数据库全文索引[归纳].pdf

    总之,利用Solr 3.6的DIH组件,你可以轻松地将MySQL数据库中的数据转换为可搜索的索引,从而实现高效的全文检索。记得根据实际情况调整配置和参数,以确保最佳的搜索体验。同时,随着数据库的变化,定期执行数据导入...

    solr定时索引

    Solr定时索引是Apache Solr搜索引擎中的一个重要特性,它允许我们按照预设的时间间隔自动更新索引,确保数据的实时性和准确性。...理解并熟练掌握这些知识,将有助于你在实际项目中更好地利用Solr进行高效的数据检索。

    使用MySQL作为SOLR的索引源

    在IT行业中,数据库管理和搜索引擎技术是两...通过DIH从MySQL导入数据,利用SOLR的索引机制和搜索能力,可以大幅提升数据检索的速度和用户体验。同时,合理地配置`schema.xml`和应用优化策略,将进一步增强系统的性能。

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

    ### 使用Lucene Solr搭建Oracle数据库全文搜索服务 #### 一、基础知识介绍 - **Lucene**: 是一个高性能、全功能的全文检索引擎库。...对于大型数据库而言,利用Solr进行全文搜索是一种高效且实用的解决方案。

    hbase+Coprocesser+solr实现二级索引

    在“hbase-increment-index-master”这个项目中,很可能就是利用了Coprocessor来实现实时更新Solr索引。 接下来,我们来看看如何集成Solr。Solr是Apache Lucene的一个子项目,是一个高性能、全文本搜索引擎服务器。...

    Solr全文索引

    Solr全文索引是基于Apache Lucene的...开发者可以通过这个库,利用Solr的强大搜索功能,构建高效、可扩展的搜索解决方案。在实际应用中,应结合Solr的配置和索引设计,以及SolrNet提供的API,实现定制化的搜索功能。

    使用lucene实现对数据库的索引

    在关系型数据库中,通常为单个列或多个列的组合创建索引,而在Lucene中,索引是基于文档的,可以对文本内容进行全文搜索。 3. **Lucene对数据库的索引过程** - **步骤1:数据获取** - 从数据库中读取数据,这里以...

    solr服务器_solr_

    2. **Core**:在Solr中,Core是一个独立的搜索实例,可以理解为数据库的概念。每个Core有自己的配置、索引和数据。你可以根据业务需求创建多个Core,每个Core处理不同的数据集。 3. **Collection**:在SolrCloud...

    solr教程+实例

    4.1 创建索引:通过Solr Admin界面或API创建索引,例如为一个博客网站创建文章索引。 4.2 搜索接口:使用HTTP GET请求发送查询,接收JSON或XML格式的搜索结果。 4.3 高级查询:使用函数查询、评分、过滤器、聚合等...

    solr4.9.0.zip

    Solr的安装过程相对简单,只需配置相应的环境变量,启动Solr服务器,然后就可以开始创建索引和进行搜索服务。 总之,Solr 4.9.0 是一个强大且功能丰富的全文搜索引擎,适用于各种规模的企业和项目,它的易用性、...

    solr各种最近的jar包

    Solr,全称为Apache Solr,是Apache软件基金会的一个开源项目,主要用来处理全文搜索、企业级搜索和数据索引。它基于Java平台,利用...了解它们的功能并正确使用,将有助于你有效地利用Solr进行全文搜索和数据管理。

    SSM+spring-data-solr+solr7.7 全文搜索代码

    综上所述,这个项目展示了如何在Java Web环境中利用SSM框架与Spring Data Solr进行数据库与Solr的整合,实现高效、便捷的全文搜索功能。对于希望在项目中加入高级搜索功能的开发者来说,这是一个非常有价值的参考...

    我的配置成功的solr8+tomcat.zip

    同时,利用Solr提供的监控工具或第三方工具,监控Solr和Tomcat的资源使用情况,确保系统健康稳定。 以上便是关于“我的配置成功的solr8+tomcat.zip”的主要内容,这个压缩包可能包含了Solr8、Tomcat9的安装文件,...

Global site tag (gtag.js) - Google Analytics