- 浏览: 257780 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (289)
- java (72)
- oracle (3)
- mysql (5)
- spring (28)
- hibernate (2)
- osgi (0)
- linux (2)
- ExtJs (1)
- jvm (0)
- mybatis (7)
- 分布式 (11)
- MINA (6)
- apache+tomcat (13)
- js+htm (7)
- android (44)
- http (1)
- hbase+hdoop (0)
- memcache (13)
- search (27)
- 部署及性能 (12)
- mongoDB (2)
- 多线程 (12)
- 安全管理验证 (9)
- struts (1)
- webservice (0)
- easyUI (1)
- spring security (16)
- pattern (6)
- 算法 (2)
最新评论
-
lzh8189146:
CommonsHttpSolrServer这个类,现在是不是没 ...
CommonsHttpSolrServer -
xiaochanzi:
我按照你的方法试了下,tomcat6可以发布,但是访问任何网页 ...
基于内嵌Tomcat的应用开发 -
phoneeye:
麻烦你,如果是抄来的文章,请给出来源。谢谢
ant 两则技巧 -
neverforget:
转载不注明出处
Spring Security3.1登陆验证 替换 usernamepasswordfilter -
liang1022:
若不使用eclipse ,如何在命令行下 运行服务端程序 ?
WebService CXF学习(入门篇2):HelloWorld
转载:Solr Data Import 快速入门
版权信息: 可以任意转载, 转载时请务必以超链接形式标明文章原文出处, 即下面的声明.
原文出处:http://blog.chenlb.com/2010/03/solr-data-import-quick-start.html
大概在 solr 1.3 刚出来的时候(2008 年底)就用过 DataImportHandler(DIH),当时觉得很方便的。后来由于有好多限制,就自己写了个做索引的框架。现有个简单的应用要用 dih 来做(小数据量的表,可以用它来做)。备忘记录下。
DataImportHandler 最大的优点是基本不用写代码,把数据库(其实也可以用 http/file 资源)中的记录放到索引中。现大概看下步骤:
1、编辑 solrconfig.xml 注册一个请求 uri 为 "/dataimport" 的请求处理器(org.apache.solr.handler.dataimport.DataImportHandler),代码如:
- <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
- <lst name="defaults">
- <str name="config">data-config.xml</str>
- </lst>
- </requestHandler>
2、创建 data-config.xml 文件放到 solr.home/conf 目录下,内容如下:
- <dataConfig>
- <dataSource type="JdbcDataSource"
- driver="com.mysql.jdbc.Driver"
- url="jdbc:mysql://localhost/dbname"
- user="user-name"
- password="password"/>
- <document>
- <entity name="id"
- query="select id,name from mytable">
- </entity>
- </document>
- </dataConfig>
3、在 schema.xml 里创建 id 与 name 的字段声明。
4、把 mysql 的 jdbc.jar 放到 solr.home/lib 目录下。
5、启动 solr 后,执行命令:
http://localhost:8080/solr/dataimport?command=full-import 这 url 告诉 solr 做全量索引,做索引中会删除所有数据。当然也可以用 clean=false 参数来告诉它不删除,但也会删除相同id的(在 scheam.xml 的uniqueKey 声明的)。http://localhost:8080/solr/dataimport?command=full-import&clean=false
上面的是 mysql 字段与 scheam.xml 声明的一样,当然不一样时可以用 sql 的 as 来使它们一样。
还可以用 data-config.xml 里指定,如:
- <dataConfig>
- <dataSource type="JdbcDataSource"
- driver="com.mysql.jdbc.Driver"
- url="jdbc:mysql://localhost/dbname"
- user="user-name"
- password="password"/>
- <document>
- <entity name="id"
- query="select id,name from mytable">
- <field column="id" name="solr_id"/>
- <field column="name" name="solr_name"/>
- </entity>
- </document>
- </dataConfig>
entity/field 中的 name 是指 scheam.xml 里指定的,column 是 sql 里出来的字段。
大多数,做索引时的数据不是在一个表里的,比较一对多的。DIH 还提供多表取数据。
把 data-config.xml 改为:
- <dataConfig>
- <dataSource type="JdbcDataSource"
- driver="com.mysql.jdbc.Driver"
- url="jdbc:mysql://localhost/dbname"
- user="user-name"
- password="password"/>
- <document>
- <entity name="outer"
- query="select id,name,desc from mytable">
- <field column="id" name="solr_id"/>
- <field column="name" name="solr_name"/>
- <entity name="inner"
- query="select details from another_table where id ='${outer.id}'">
- <field column="details" name="solr_details"/>
- </entity>
- </entity>
- </document>
- </dataConfig>
在 scheam.xml 里指定 solr_details 字段为多值的 multiValued="true"。在上面 inner entity 里的 sql 语句可以加参数 ${outer.id} 就是 mytable 的 id 字段。
修改好后,重启,再做一次索引就有效果了,一对多一个缺点是会有 N+1 个 sql 查询。对小数据量的索引合适用 solr data import。
发表评论
-
提高nutch爬取效率
2012-06-08 12:47 942提高nutch爬取效率 分类 ... -
CommonsHttpSolrServer
2012-03-28 09:31 2081CommonsHttpSolrServer ... -
利用SOLR搭建企业搜索平台 之十(数据库数据导入到solr)
2012-03-28 09:31 743利用SOLR搭建企业搜索平台 之十(数据库数据导 ... -
利用SOLR搭建企业搜索平台 之九(solr的查询语法)
2012-03-28 09:31 835利用SOLR搭建企业搜索平台 之九(solr的查 ... -
利用SOLR搭建企业搜索平台 之八(solr 实现去掉重复的搜索结果,打SOLR-236_collapsing.patch补丁)
2012-03-28 09:31 979引用Bory.Chanhttp://blog.chenlb.c ... -
利用SOLR搭建企业搜索平台 之五(solrj)
2012-03-27 14:59 858利用SOLR搭建企业搜索平台 之五(solrj) ... -
Solr solrconfig.xml的翻译
2012-03-13 08:23 895Solr solrconfig.xml的翻译 ... -
使用Apache Solr对数据库建立索引
2012-03-13 08:23 860使用Apache Solr对数据库建立索引 ( ... -
解决DataImportHandler从数据库导入大量数据而内存溢出的问题
2012-03-13 08:23 929解决DataImportHandler从数据库导入大 ... -
Solr 创建索引的原理 源码分析
2012-03-13 08:24 1160Solr 创建索引的原理 源码分析 (2011 ... -
Solr Replication (复制) 索引和文件的工作机制
2012-03-13 08:24 811Solr Replication (复制) 索引和文 ... -
Solr 查询中fq参数的解析原理
2012-03-14 08:13 820Solr 查询中fq参数的解析原理 (2011- ... -
Solr 分词器(analyzer)是怎么传到Luence的
2012-03-14 08:13 1090Solr 分词器(analyzer)是怎么传到Lue ... -
SOLR的分布式部署
2012-03-14 08:14 1030转载:http://blog.sina.com.cn/s/bl ... -
Solr 删除数据的几种方式
2012-02-22 08:40 1003转载:Solr 删除数据的几种方式 发表于:2010 ... -
使用 solr php 的输出
2012-02-22 08:41 850转载:使用 solr php 的输出 发表于:200 ... -
Solr Multicore 结合 Solr Distributed Searching 切分大索引来搜索
2012-02-26 12:13 787Solr Multicore 结合 Solr Dist ... -
Solr Multicore 试用小记
2012-02-26 12:13 751Solr Multicore 试用小记 转载: ... -
Solr1.4.0源码分析二 Solr分布式搜索中URL的正确用法和原理
2012-02-26 12:13 983Solr1.4.0源码分析二 Solr分布式搜索 ... -
lucene应用
2012-02-19 13:24 708转载:http://sacredlove.itey ...
相关推荐
Solr 数据导入调度器(solr-dataimport-scheduler.jar)是一个专门为Apache Solr 7.x版本设计的组件,用于实现数据的定期索引更新。在理解这个知识点之前,我们需要先了解Solr的基本概念以及数据导入处理...
Solr 数据导入调度器(Solr DataImport Scheduler)是一个用于Apache Solr的插件,它允许用户定期自动执行数据导入过程。这个jar包是专门为Solr服务器设计的,旨在简化和自动化索引更新流程,确保搜索结果始终保持...
solr-import-export-json最新代码solr-import-export-json最新代码solr-import-export-json最新代码solr-import-export-json最新代码solr-import-export-json最新代码solr-import-export-json最新代码solr-import-...
经过测试可以适用solr7.4版本。如果低版本solr(6.*) 可以直接适用网上的solr-dataimport-scheduler 1.1 或者1.0版本。
兼容solr6.5.1 定时任务依赖jar包
这是我自己反编译fix后,支持solr7.4高版本的定时增量任务(亲测solr7.4),下载下来开箱即用。低版本的没试过,估计低版本的solr配合之前apache-solr-dataimportscheduler-1.0.jar这些能行,不行就试试我这个。
slor定时增量更新索引dataimport.properties
Solr Data Import Handler (DIH) 是 Apache Solr 中一个强大的功能,用于导入和更新来自各种数据源的数据。在处理HTTP中的XML数据时,Solr提供了XML/HTTP数据源,使得能够索引通过HTTP协议获取的RESTful或XML/RSS/...
在 Solr 的生态系统中,`solr-dataimport-scheduler-1.2.jar` 是一个非常重要的组件,它允许用户定时执行数据导入任务,这对于需要定期更新索引的应用场景尤其有用。这个特定的版本 `1.2` 已经被优化以兼容 `Solr ...
使用solr做数据库定时同步更新数据和索引时用到该jar,经过本人测试通过,放心使用. 支持solr5.x,solr6.x
solr-data-import-scheduler-1.1.2,用于solr定时更新索引的jar包,下载后引入到solr本身的dist下面,或者你tomcat项目下面的lib下面
solr 检索用包
solr 增量更新所需要的包 solr-dataimporthandler-6.5.1 + solr-dataimporthandler-extras-6.5.1 + solr-data-import-scheduler-1.1.2
- **Solr Data Import Handler (DIH)**:文件“Solr Data Import 快速入门 - Bory_Chan.htm”可能涵盖了Solr的DIH特性,它是用于从外部数据源(如数据库)导入数据的工具。DIH支持多种数据源,如JDBC(Java ...
solr定时任务dataimport报错解决,dataimportscheduler升级包
solr之MoreLikeThis第20讲 solr之dataimport第21讲 IK分词简介第22讲 IK分词源码分析第23讲 IK与Solr集成第24讲 IK动态词库加载第25讲 项目实战之比比看架构设计第26讲 项目实战之比比看索引设计第27讲 项目实战之...
solr-dataimport-schedulersolr数据导入定时任务
在apache-solr-dataimportscheduler.jar基础上进行了修改,修复了POST和时间的bug,添加了用户验证功能,在dataimport.properties中添加 username=xxx password=xxx 即可实现solr用户验证,亲测可用,该版本内含源码
solr indexing 介绍solr indexing过程,及常用的上传方法