跳转到主要内容

Elasticsearch和OpenSearch兼容性库。

项目描述

AnySearch 是一个 ElasticsearchOpenSearch 兼容性库。它提供了实用函数,以平滑处理Python库之间的差异,旨在编写与两者兼容的Python代码(包括 *search*search-dsl 包)。

有关提供内容的更多信息,请参阅文档。

PyPI Version Supported Python versions Build Status Documentation Status MIT Coverage

文档

文档可在 Read the Docs 上获取。

先决条件

  • Python 3.6, 3.7, 3.8, 3.9和3.10。

安装

从PyPI安装最新稳定版本

pip install anysearch

或从GitHub安装最新稳定版本

pip install https://github.com/barseghyanartur/anysearch/archive/main.tar.gz

配置

AnySearch 将自动检测您是否安装了 ElasticsearchOpenSearch,通过查看已安装的软件包。然而,如果您两个软件包都安装了,您可以指示 AnySearch 使用哪一个。这样做的方法是将环境变量 ANYSEARCH_PREFERRED_BACKEND 设置为 ElasticsearchOpenSearch

对于 Elasticsearch

import os
os.environ.setdefault("ANYSEARCH_PREFERRED_BACKEND", "Elasticsearch")

对于 OpenSearch

import os
os.environ.setdefault("ANYSEARCH_PREFERRED_BACKEND", "OpenSearch")

使用方法

elasticsearch/opensearch

如何操作

使用 elasticsearch 您会这样做

from elasticsearch import Connection, Elasticsearch

使用 opensearch 您会这样做

from opensearch_py import Connection, OpenSearch

使用 anysearch 您会将其更改为

from anysearch.search import Connection, AnySearch

elasticsearch-dsl/opensearch-dsl

如何操作

使用 elasticsearch-dsl 您会这样做

from elasticsearch_dsl import AggsProxy, connections, Keyword
from elasticsearch_dsl.document import Document

使用 opensearch-dsl 您会这样做

from opensearch_dsl import AggsProxy, connections, Keyword
from opensearch_dsl.document import Document

使用 anysearch 您会将其更改为

from anysearch.search_dsl import AggsProxy, connections, Keyword
from anysearch.search_dsl.document import Document

测试

项目包含测试。

要测试所有支持的 Python 版本,请输入

tox

要针对特定环境进行测试,请输入

tox -e py39

要测试您的当前工作环境,请输入

pytest

要在您的当前工作环境中运行单个测试,请输入

pytest test_anysearch.py

要在您的当前工作环境中运行给定测试模块中的单个测试类,请输入

pytest test_anysearch.py::AnySearchTestCase

假设您已安装 elasticsearch-dslopensearch-dsl。如果没有,请先安装依赖项。

编写文档

请保持以下层次结构。

=====
title
=====

header
======

sub-header
----------

sub-sub-header
~~~~~~~~~~~~~~

sub-sub-sub-header
^^^^^^^^^^^^^^^^^^

sub-sub-sub-sub-header
++++++++++++++++++++++

sub-sub-sub-sub-sub-header
**************************

许可协议

MIT

支持

对于任何安全问题,请联系作者部分提供的电子邮件。对于整体问题,请访问 GitHub

作者

Artur Barseghyan <artur.barseghyan@gmail.com>

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪一个,请了解更多关于 安装包 的信息。

源分布

anysearch-0.2.2.tar.gz (13.1 kB 查看散列)

上传时间

构建分布

anysearch-0.2.2-py2.py3-none-any.whl (8.7 kB 查看散列)

上传时间 Python 2 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面