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第三方库


热门话题
java是否在servlet中检索上一页路径?   Java抱怨在开关的默认情况下未初始化最终字段   Java泛型:为什么编译器不能判断这个类<t>对象与这个类的类型参数的对象的类具有相同的类型?   Java:继承方法中使用的私有变量   HibernateJava。ClassCastException:java。lang.Integer不能强制转换为abc。def。我的项目。奥姆。EmployeeTopMetaData   http java发布和下载文件   java改进条件检查   java如何将2d数组的条目作为键放在地图中   java如何获取传递给运行时的值。getRuntime。JUnit测试用例中的exit(value)   java注释来创建所有可能的构造函数   自动建议列表:java。lang.IllegalArgumentException:在XPath表达式为null时找不到元素   为什么MapAPI在Java中不提供流功能?   gradle不导入本地java库   尽管我使用的是SessionCreationPolicy,java Spring安全性似乎仍在使用会话。无国籍   使用java查找MongoDB中数组元素的平均值