全文检索引擎Solr:整合MySQL、MongoDB
发布日期:2016-4-13 20:4:57
全文检索引擎Solr:整合MySQL、MongoDB 一、MySQL 1.把mysql-connector-java-5.1.25-bin.jar拷贝到E:\solr-4.8.0\example\solr-webapp\webapp\WEB-INF\lib目录下面 2.配置E:\solr-4.8.0\example\solr\collection1\conf\solrconfig.xml 如图1所示 图1 3.导入依赖库文件,如图2所示: 图2 加在 图3 前面。 4.创建E:\solr-4.8.0\example\solr\collection1\conf\data-config.xml,指定MySQL数据库的地址,用户名、密码以及建立索引的数据表,如图4所示 图4 (1)query 用于初次导入到索引的sql语句。
(2)deltaImportQuery 根据ID取得需要进入的索引的单条数据。 (3)deltaQuery 用于增量索引的sql语句,用于取得需要增量索引的ID。 (4)deletedPkQuery 用于取出需要从索引中删除文档的的ID 5.为数据库表字段建立域(field),编辑E:\solr-4.8.0\example\solr\collection1\conf\schema.xml 如图5所示 图5 6.配置增量索引更新文件 参考文献:
二、Mongodb 1.安装mongo-connector的时候最好使用手动安装方式: 默认是不会自动提交了,这里设置成自动提交,否则mongodb数据库更新,索引这边没法同时更新,或者在命令行中可以指定是否自动提交,不过我现在还没发现。 2.配置schema.xml,把mongodb中需要加上索引的字段配置到schema.xml文件中,如图6所示: 图6 3.启动Mongod,如下所示: 初始化:rs.initiate() 4.启动mongo-connector,如下所示: (1) -m:mongod服务 (2) -t:solr服务 (3) -n:mongodb命名空间,监听database.collection,多个命名空间逗号分隔 (4) -u:uniquekey (5) -d:处理文档的manager文件 请注意:mongodb通常使用_id作为uniquekey,Solrmore使用id作为uniquekey,如果不做处理,在索引文件时将会失败,有两种方式来处理这个问题: 第一种:指定参数--unique-key=id到mongo-connector,Mongo Connector 就可以翻译把_id转换到id。 第二种:(1)把schema.xml文件中的: 替换成 (2) 同时还要定义一个_id的字段: (3) 启动时如果报错: (4)清空E:\Users\liuzhijun\workspace\mongo-connector\mongo_connector\doc_managers\config.txt中的内容,需要删除索引目录下的文件重新启动 5.测试 mongodb的数据变化会同步到solr中去。 上一条: 八句话让你完全搞定MySQL数据库
|