Solr索引数据库配置
1. 配置solrconfig.xml
修改core中的solrconfig.xml配置文件,添加requestHandler。例如:${Solr.home}/collection1/conf/solrconfig.xml
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">data-config.xml</str> </lst> </requestHandler>
2. 使用RDBMS作为索引对象
RDBMS的相关信息配置在data-config.xml中,主要用途如下:
- How to fetch data (queries,url etc)
- What to read ( resultset columns, xml fields etc)
- How to process (modify/add/remove fields)
<dataConfig> <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://10.10.21.14:3306/chain_base" user="root" password="cluster@yonyou.com" /> <document> <entity name="solr_test" transformer="DateFormatTransformer" query="SELECT id, consignee, address, mobile,date FROM base_address"> <field column='date' dateTimeFormat='yyyy-MM-dd HH:mm:ss' /> </entity> </document> </dataConfig>
-
document:一个文档也就是lucene的document,一个文档包含一个或多个根entity。
-
entity: 一个entity代表关系数据库中的一个table/view,一个根entity可以包含多个子entity或多个field。
-
entity默认属性
- name:一个唯一的名称用于区分不同entity(随意)
- processor:默认为SqlEntityProcessor,其他非RDBMS的需要明确指定;
- transformer:
- dataSource:仅当有多个dataSources时使用;
- threads:运行该entity所需线程的数量;
- pk:entity的主键,仅仅在delta-imports中使用,与schema.xml中的uniquekey无关;
- rootEntity:boolean值,确定该entity是否为根entity;
- onError:(abort|skip|continue),当发生error时,如何处理;
- preImportDeleteQuery:在full-import命令执行前,需要清除index。默认为“:”,这里可以自定义;
- postImportDeleteQuery:
- SqlEntityProcessor特有属性:
- query:查询数据库使用的sql语句;获取full-import需要的数据SQL.
工作原理:
执行本Entity的Query,获取所有数据;针对每个行数据Row,获取pk,组装子Entity的Query;执行子Entity的Query,获取子Entity的数据。 - deltaImportQuery:获取delta-import需要的数据的SQL
工作原理:
查找子Entity,直到没有为止;执行Entity的deltaQuery,获取变化数据的pk;合并子Entity parentDeltaQuery得到的pk;针对每一个pk Row,组装父Entity的parentDeltaQuery;执行parentDeltaQuery,获取父Entity的pk;执行deltaImportQuery,获取自身的数据;如果没有deltaImportQuery,就组装Query
限制:- 子Entity的query必须引用父Entity的pk
- 子Entity的parentDeltaQuery必须引用自己的pk
- 子Entity的parentDeltaQuery必须返回父Entity的pk
- deltaImportQuery引用的必须是自己的pk
- deltaQuery:获取当前entity中更新记录的主键的SQL
- parentDeltaQuery:获取父Entity中更新记录的主键的SQL
- deletePkQuery:
- query:查询数据库使用的sql语句;获取full-import需要的数据SQL.
-
-
field:属性column是数据库的字段,name是filed的名字,即schema中的field name。假如column name与field name 不同,则需要手动指定field name属性。
3. 索引数据库
使用如下URL可以索引数据库
-
full-import
- 该操作会还开起一个新线程,并且status 属性变为busy now
- 该操作会花费一些时间,依赖于dataset的大小;
- 操作执行时,会储存操作开始的时间到文件conf/dataimport.properties,该时间戳用于delta-import操作中;
- 在full-import执行期,查询不会被阻塞;
- 其他的一些属性:
- entity:选择索引的一个或多个entity的名字,默认索引doc下全部entity;
- clean:(default为‘true’)全索引前是否清除已有索引;
- commit:(default为'true')操作后是否进行commit;
- optimize:(default 'true' up to Solr 3.6, 'false' afterwards)是否进行优化,耗时操作;
- debug:(default 'false')是否运行在debug模式,该模式下不会立即commit,需要显示指定'commit=true'
http://localhost:8080/Solr-4.7.0/dataimport?command=full-import http://localhost:8080/Solr-4.7.0/dataimport?command=full-import&clean=false
-
detla-import: 增量导入(增量索引)支持full-import_其他的一些属性_;
http://localhost:8080/Solr-4.7.0/dataimport?command=delta-import 注: 本例暂时未实现
-
status:查看当前命令的状态,给出详细的统计:
- 多少doc被创建
- 多少doc被删除
- 多少doc被查询
- 多少doc rows fetched
http://:/solr/dataimport
-
reload-config :假如data-config.xml配置文件改变需重新加载(无需重启Solr),可以运行如下命令:
http://:/solr/dataimport?command=reload-config
- abort : 终止一个进行中的操作
http://:/solr/dataimport?command=abort
4. 参考链接
以上。
相关推荐
搜索引擎solr环境配置、分词及索引操作
文件中包括:1:solr4.4.0安装部署详细文档,solr-4.4.0.tgz 安装包2:ik分词器详细配置,IKAnalyzer2012FF_u1.jar和IKAnalyzer2012_FF.jar包3:solr和数据库实现实时数据同步更新,以及更新索引。solr-...
利用solr搭建MYSQL集成环境,实现MYSQL数据库索引的添加和修改。
定制 Solr 索引的实现方法很简单,用 POST 方法向 Solr 服务器发送一 个描述所有 Field 及其内容的 XML 文档就可以了。定制搜索的时候只需要发送 HTTP GET 请求 即可,然后对 Solr 返回的信息进行重新布局,以产生利于...
solr详细学习资料,是对solr的配置,以及对数据库建立索引进行了详细介绍
Clojure 工具,用于从数据库中的关系数据创建 solr 索引。 此工具可用作 solr 发行版中提供的数据导入处理程序 (DIH) 的替代方案。 使用此工具代替 DIH 的主要优点是性能和简单的配置。 用法 从命令行运行 java -...
1.下载solr7.5.tar,拷贝到CentOS解压 2.启动solr ...6.配置数据库读取信息:DataImportHandler 7.重启solr在core1导入数据库数据 8.导入IK分词器 9.查询条件 10.Sping MVC集成Solr 11.Sping Boot集成Solr
solr4.7.2tomcat7集成包,下载后可直接运行启动即可,同时集成了IK中文分词器,索引路径在tomcat\bin中,方便迁移,数据库未配置,自行找教程配置
本代码主要包含SOLR基本可视化运维,如通过控制套...部署方式:1、解压后在源码中修改solr-config.properties配置文件信息,修改完成后,直接发布到tomcat服务中,启动即可。系统当前支持绑定的数据库为ORACLE和mysql.
列的 Event 事件,并用来保证写入 Solr 中的 HBase 索引数据的一致性。并且 Indexer 支持 用户自定义的抽取,转换规则来索引 HBase 列数据。Solr 搜索结果会包含用户自定义的 columnfamily:qualifier 字段结果,这样...
7、将数据库中的数据导入至Solr索引库 8、通过Solr后台管理界面对索引进行CRUD高亮过滤排序分页 9、通过Solrj实现索引的添加更新 10、通过Solrj实现索引的删除 11、索引的检索_过滤_高亮等操作 12、项目实战应用 13...
dspace /:用于从DSpace的Solr索引提供数据的配置文件 dspace-route.xml:Metaproxy路由配置 dspace.pqf:将SRU索引名称映射到Solr索引名称 dspace-pql-to-solr.xsl:将Z39.50索引号映射到Solr索引名称 dspace-to-...
solr全文检索,包含solr环境的搭建及配置文件等的详细解说,还附带给数据库创建索引,给文档创建索引,删除指定索引,删除全部索引,全文查询等代码。
6、将数据库中的数据导入至Solr索引库 7、通过Solr后台管理界面对索引进行CRUD高亮过滤排序分页 8、通过Solrj实现索引的添加更新 9、通过Solrj实现索引的删除 10、索引的检索_过滤_高亮等操作 11、项目实战应用...
Sunspot提供了简单,直观,富有表现力的DSL,并以强大的功能为后盾,可为对象建立索引并对其进行搜索。 Sunspot的设计目的是可以轻松插入任何ORM甚至是非数据库支持的对象(例如文件系统)。 本自述文件提供了较...
8.1.5 Solr索引库的查找 242 8.1.6 索引分发 246 8.1.7 Solr搜索优化 246 8.1.8 Solr中字词混合索引 249 8.1.9 相关检索 253 8.1.10 搜索结果去重 255 8.1.11 分布式搜索 260 8.1.12 SolrJ查询分析器 264 8.1.13 ...
数据库配置 确保通过Lando lando start Postgres。 rake db:create rake db:migrate rake db:seed 您可以通过rails dbconsole -p访问数据库控制台。 在本地运行开发环境 假定所有命令都从您的本地orangelight目录...
org.liveSense.sample.solr.zip,此示例包含用于城市/邮政编码/街道位置数据库索引的默认配置和servlet此示例包含用于城市/邮政编码/街道位置数据库索引的默认配置和servlet
索引在数据级别进行(对应于数据库中的表。也可以在文件(例如PDF)中进行索引和搜索)。 搜索时,其优点是可以根据找到的数据记录的类型来设计输出。 您还可以最大程度地控制以后可以索引和查找哪些信息。 索引基本...
此项目是在配置好solr框架的基础上一个简单的小项目,主要是添加索引,及根据相关条件查询列表。涉及的数据库在hibernate.cfg.xml中配置了,主要操作的是news表,news表字段在News类中