some like orm for elasticsearch, elasticsearch的辅助工具, 提供类似ORM的操作方式, 此版本提高了稳定性,解决了出现的bug
Project description
ht_es
介绍
python es的再封装
主要借鉴SQLAlchemy的方式
使用说明
简单使用
"""
搜索测试工具,数据填充脚本
"""
import random, time
from elasticsearch_tool.elements.document import Doc, Fields
from elasticsearch_tool.base_element.operate import datetime_tool, NOT, OR
from datetime import datetime
from elasticsearch_tool.config import Config
# 配置es服务器地址信息
Config.set_host('localhost', port='9200')
words = ['单词', '词汇', '检索', '我了', '艾克', '维护费', '没理解', '接是', '咯怕', '那么', '行风', '奶茶店', '全网通', '雨天',
'末尾', '已收到', '就好撒大家看法', '是你们', '你们', '舞女', '不', '容易', '一样', '是你的', '玩儿一天']
def insert_indices():
text = ''
word = []
id = int(time.time() * 1000)
num = random.randint(000, 999)
for _ in range(100):
n = random.randint(0, len(words) - 1)
text += words[n]
for _ in range(5):
n = random.randint(0, len(words) - 1)
word.append(words[n])
return {
'text': text,
'word': word,
'id': id,
'num': num,
'date': datetime.today(),
'has_go': num % 2 == 1,
'height': time.time()
}
class DocTry(Doc):
# 配置文档的索引值,类型值,以及文档id的字段
__indices__ = 'fifth'
__types__ = 'docs'
__pk__ = 'id'
# 设定文档字段和类型
text = Fields.String
word = Fields.List
id = Fields.Integer
num = Fields.Integer
date = Fields.Datetime
has_go = Fields.Boolean
height = Fields.Float
if __name__ == '__main__':
for _ in range(15):
time.sleep(0.01)
data = insert_indices()
doc = DocTry()
for k, v in data.items():
doc.__setattr__(k, v)
top = doc.text > 'str'
nop = doc.num > 20
doc.save()
DocTry().search(text='检索').all()
all_re = DocTry().filter(DocTry.num > 50,
DocTry.text=='单词',
DocTry.text!='一样',
OR(DocTry.text == '知识',
DocTry.id > 100,
DocTry.word.in_(['你们', '那么', '已收到', '一样']),),
NOT(DocTry.has_go == False)).all()
for result in all_re:
print(result.query_to_dict())
更多使用方法,请见:
参与贡献
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
elasticsearch_tool-0.9.9.tar.gz
(14.5 kB
view details)
Built Distribution
File details
Details for the file elasticsearch_tool-0.9.9.tar.gz
.
File metadata
- Download URL: elasticsearch_tool-0.9.9.tar.gz
- Upload date:
- Size: 14.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89a3ee7306e94cd55882d3840f0a996093e507e2b3d773488635352935594a1d |
|
MD5 | e315682b5ade84f332243bbc35464cb9 |
|
BLAKE2b-256 | f4ea10282f935cb2ea00816e3a6115ce4c1606ed07cd0e6fa7616a5d86f85b2d |
File details
Details for the file elasticsearch_tool-0.9.9-py3-none-any.whl
.
File metadata
- Download URL: elasticsearch_tool-0.9.9-py3-none-any.whl
- Upload date:
- Size: 28.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66feeca2cad6c7bf3bd7240ee6eacd4c8f5637a9706104ae679319cc4208329f |
|
MD5 | ad9881ff209dd5b58334577f96acdc16 |
|
BLAKE2b-256 | 6f0eb8428819f396330541814928aea85cc86762edc22c2c7ab42fbd36bf9b91 |