Elasticsearch和OpenSearch兼容性库。
项目描述
AnySearch 是一个 Elasticsearch 和 OpenSearch 兼容性库。它提供了实用函数,以平滑处理Python库之间的差异,旨在编写与两者兼容的Python代码(包括 *search 和 *search-dsl 包)。
有关提供内容的更多信息,请参阅文档。
文档
文档可在 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 将自动检测您是否安装了 Elasticsearch 或 OpenSearch,通过查看已安装的软件包。然而,如果您两个软件包都安装了,您可以指示 AnySearch 使用哪一个。这样做的方法是将环境变量 ANYSEARCH_PREFERRED_BACKEND 设置为 Elasticsearch 或 OpenSearch。
对于 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-dsl 或 opensearch-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。
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪一个,请了解更多关于 安装包 的信息。
源分布
构建分布
anysearch-0.2.2.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 62a7d1cae2b9822e2ec262f5108c4bdd6c159e8b53adbae7fc29885451e1b722 |
|
MD5 | ff669afecfc0745c314a86376d99e198 |
|
BLAKE2b-256 | 46d64d228ad60e92113ad9edfb6dbb81e269840cedb6fa7f9949693c7af8844e |
任何搜索-0.2.2-py2.py3-none-any.whl 的哈希值
算法 | 散列摘要 | |
---|---|---|
SHA256 | e0538d8f138258692a568e305ffaf4bd565959993fe4d1a2513fedf7d35f95da |
|
MD5 | bc63be89b5bf454ac34ac191e97fad87 |
|
BLAKE2b-256 | eb699b1d928f717c859b81d7c138d1a668544dded59202afd919c31fea9f2175 |