OceanDB ElasticSearch驱动程序(Python)。

oceandb-elasticsearch-driver的Python项目详细描述


banner

OceanDB ElasticSearch驱动程序

? Elasticsearch driver for OceanDB (Python). oceanprotocol.com

Travis (.com)Codacy coveragePyPIGitHub contributors


目录


功能

用于连接实现OceanDB的ElasticSearch驱动程序。

先决条件

你应该运行一个ElasticSearch实例。

快速启动

首先,我们必须指定配置的分配位置。 为此,我们必须传递以下参数:

--config=/path/of/my/config

如果不提供配置路径,则默认情况下,配置文件夹中需要配置。

在配置中,我们将指定以下参数

[oceandb]enabled=true# In order to enable or not the pluginmodule=elasticsearch# You can use one the plugins already created. Currently we have elasticsearch, mongodb and bigchaindb.module.path=# You can specify the location of your custom plugin.db.hostname=localhost# Address of your Elasticsearch instance.db.port=9200# Port of your Elasticsearch rest API.db.username=elastic# If you are using authentication, elasticsearch username.db.password=changeme# If you are using authentication, elasticsearch password.db.index=oceandb# Elasticsearch index name

定义好后,您只需使用它即可:

oceandb=OceanDb(conf)oceandb.write({"value":"test"},id)

环境变量

当您想要实例化一个oceandb插件时,您可以提供下一个环境变量:

  • $配置路径
  • $模块
  • $db_主机名
  • $db_端口
  • $db_索引
  • $db_用户名
  • $db_密码

查询

目前,我们支持预定义的查询列表,以便改进搜索: 所有这些查询都呈现一种通用格式: query:{"name":[args]}

这些查询如下:

  • 价格

    可以接收一个或两个参数。如果只传递一个,则假设查询将从0开始到值。

    下一个查询: query:{"price":[0,10]}

    它转换为: {"service.metadata.base.price":{"$gt": 0, "$lt": 10}}

  • 许可证

    它将检索您传递给参数的所有具有许可证的文档, 如果不传递任何值,请全部检索。

    {"license":["Public domain", "CC-YB"]}

  • 键入

    它将检查DDO中是否包含以下服务类型。

    {"type":["Access", "Metadata"]}

  • 示例

    检查元数据是否包含包含sample类型链接的示例。不要使用参数。

    {"sample":[]}

  • 类别

    检索包含指定类别之一的所有值。

    {"categories":["weather", "meteorology"]}

  • 已创建

    检索在两个日期之间创建的所有值。

    {"created":['2016-02-07T16:02:20Z', '2016-02-09T16:02:20Z']}

  • 创建日期

    检索在两个日期之间创建的所有值。

    {"dateCreated":['2016-02-07T16:02:20Z', '2016-02-09T16:02:20Z']}

  • 发布日期

    检索在两个日期之间发布的所有值。

    {"datePublished":['2016-02-07T16:02:20Z', '2016-02-09T16:02:20Z']}

  • 更新频率

    检索包含指定更新频率之一的所有值。

    {"updatedFrequency":["monthly"]}

  • 文本 检索与发送的文本匹配的所有值。

    {"text":["weather"]}

代码样式

关于python中代码样式的信息记录在这两个链接中python-developer-guide 以及python-style-guide

测试

通过travis设置自动测试,执行tox。 我们的测试使用pytest框架。

新版本

bumpversion.sh脚本有助于提高项目版本。可以使用第一个参数{major minor patch}来执行脚本,从而相应地提升版本。

许可证

Copyright 2018 Ocean Protocol Foundation Ltd.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.


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

推荐PyPI第三方库


热门话题
eclipse java btc交易应用程序编译时错误(HTTP组件)   java客户端状态保存,我能看到发送到客户端的状态数据吗?   spring中的java内部字段注入工作以及为什么不建议使用它   在iReports、Jasper和JavaBean数据源中使用表功能   如何在Java树中查找节点   用于日志分析的java模式匹配   java如何在Spring中处理json列表?   java SQL注入和可能的攻击   java如果我将实体转换为DTO,那么转换代码应该存在于何处?   java素数方法不起作用   通过NFC启动java Android Q隐私更改活动   java在Spring引导时为Spring AMQP和RabbitMQ动态设置主机   swing Java Paste From Clipboard不适用于Linux上的所有应用程序   java从不同对象访问对象的内部类   java Ektorp CouchDB测试连接   十进制前8位、十进制后2位和整个字符串的java正则表达式不应计算为零   在Java中以长格式存储两个整数之和   ConfigurationProperties中嵌套属性的java验证