我有solr在一台服务器上运行,mongodb设置为replicaset,主服务器在一台服务器上,辅助服务器在另一台服务器上运行
我已经在搜索服务器上安装了mongo-connector以同步到主数据库,如下所示,它挂起的同步命令
mongo-connector -m db.test.com:27017 -t http://localhost:8080/solr/test -n test.products --auto-commit-interval=0 -d ./doc_managers/solr_doc_manager.py`
Beginning Mongo Connector
2014-09-11 07:27:41,361 - INFO - Starting new HTTP connection (1): localhost
2014-09-11 07:27:41,366 - INFO - Finished 'http://localhost:8080/solr/test/admin/luke?show=schema&wt=json' (get) with body '' in 0.011 seconds.
2014-09-11 07:27:41,368 - INFO - MongoConnector: Empty oplog progress file.
2014-09-11 07:27:41,371 - INFO - OplogThread: Initializing oplog thread
2014-09-11 07:27:41,372 - INFO - MongoConnector: Starting connection thread MongoClient([u'content.test.com:27017', u'db.test.com:27017'])
答案 0 :(得分:0)
我有同样的故事:mongo集合中有一些实体,但mongo连接器挂起甚至不执行转储集合。
仔细检查mongo的命名空间(-n {dbName}。{collection})并仔细查看solr服务器日志(当出现一些错误时它会帮助我更新)。
请记住案例敏感属性+每个实体必须包含唯一键(如果您自己的ID,而不是mongo),否则更新将失败。
以某种方式编译的mongo-connector版本没有像我预期的那样工作,所以我通过python使用了调用:
cd C:\Python34
python Lib\mongo-connector\mongo_connector\connector.py
-m localhost:27017
-t http://localhost:8983/solr/product
-d Lib\mongo-connector\mongo_connector\doc_managers\solr_doc_manager.py
-o NewOLog.txt
-n solrDb.Product
--auto-commit-interval=0