Mongo连接器的弹性1.x插件

elastic-doc-manager的Python项目详细描述


View build status

注意:这是elasticsearch 1.x的文档管理器。 elasticsearch>;=2.0,请安装elastic2文档管理器。

开始

此包是的文档管理器 mongo-connector那 目标ElasticSearch版本1.x。 有关使用ElasticSearch运行Mongo连接器的信息,请参阅 MongoConnector Usage with Elasticsearch 维基页面。

安装

弹性文档管理器的安装取决于 你的目标是ElasticSearch。

弹性搜索1.x

要与ElasticSearch 1.x服务器一起使用,请使用 pip

pip install 'elastic-doc-manager'

亚马逊ElasticSearch 1.x服务

要与Amazon ElasticSearch服务一起使用,必须安装所需的AWS 依赖项以及ElasticSearch的版本:

pip install 'elastic-doc-manager[aws]'

弹性搜索>;=2.0

这是仅用于ElasticSearch 1.x的文档管理器。如果你 要以2.0或更高版本为目标,请安装 elastic2-doc-manager

发展

您还可以安装弹性文档管理器的开发版本 手动:

git clone https://github.com/mongodb-labs/elastic-doc-manager.git
pip install -e './elastic-doc-manager'

您可能必须使用sudo运行pip,这取决于您在哪里 安装和你有什么特权。

注意:在Mongo连接器版本2.2.2之前,弹性文档管理器与Mongo连接器一起打包 仅支持ElasticSearch 1.x.

运行测试

要求
  1. 弹性1.x文档管理器github存储库的副本

    测试不包含在来自pypi的包中,只能通过在github上克隆此存储库来获取:

    git clone https://github.com/mongodb-labs/elastic-doc-manager
    
  2. Mongo编排

    mongo connector使用另一个名为Mongo Orchestration的工具独自运行mongodb。如果运行python setup.py test,则此包应自动安装,但在运行测试之前,仍需要手动启动Mongo业务流程服务器:

    mongo-orchestration --bind 127.0.0.1 --config orchestration.config start
    

    将启动服务器。要阻止它:

    mongo-orchestration --bind 127.0.0.1 --config orchestration.config stop
    

    MongoDB服务器的位置应在orchestration.config中设置。有关如何使用Mongo Orchestration或如何将其与不同参数一起使用的详细信息,请参阅Mongo Orchestration自述文件。

  3. 环境变量

    有几个影响测试的环境变量。这些是:

    • DB_USER是在启用身份验证的情况下运行测试时要使用的用户名。
    • DB_PASSWORD是上面的密码。
    • MONGO_PORT是运行MongoDB的起始端口。未来的节点将在依次增加的端口上启动。
    • ES_HOST是运行elasticsearch的主机名。
    • ES_PORT是运行ElasticSearch的端口。
    • MO_ADDRESS是用于Mongo业务流程的地址(即主机名:端口)

所有测试都位于tests目录中。

在命令行上运行测试

虽然测试会自行设置和拆除MongoDB集群,但在进行完整的测试运行之前,请确保启动Elastic!

您可以使用一个命令运行所有测试(这在所有受支持的python版本中都有效):

python setup.py test

此外,您还可以选择运行哪些测试(仅限python>;2.6)!例如,如果您只想运行弹性文档管理器测试:

python -m unittest tests.test_elastic_doc_manager

错误消息

有些测试旨在生成大量ERROR级别的日志消息,特别是回滚测试。mongo connector记录在oplog中迭代光标时遇到的异常,因此我们在mongodb集群在测试中被分离时在控制台输出中看到这些异常。只要所有的测试都通过,并且有一条消息,一切都很好。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
关于JSP转发的java问题   强制Oracle驱动程序向java输出带有时区的时间戳。sql。使用getObject时的时间戳   Java中的配置单元UDF在创建表时失败   eclipse怀疑Java上下文加载器使用不再存在的文件   范围如何为我没有在JavaEE中编写的类定义单例对象?   java Eclipse未启动:JVM已终止。退出代码=14   仅存在于子类中的属性的java别名(Hibernate标准)   Java字符串插入错误   无法打开java@PropertySource,因为它不存在   java从多项目Maven配置生成WAR文件   java Hibernate@Lob注释不再有效:不能用几个字符串超过CLOB的总长度?   java jbutton的鼠标侦听器包含if/else循环阻塞的jvm?   java如何删除最近24小时安卓的通话记录   java Android服务+计数器不工作   java如何获取返回结果的服务器的数据,我希望将该结果更新到另一台服务器   java从javax获得“一切”是可能的。命名。初始上下文?   java Spring云门请求超时不适用于路径   java web应用程序会话缓存   java使用dialogflow的响应通过google助手打开我的应用程序   MongoDB添加createAt updatedAt字段java