用于ElasticSearch的Django QuerySets类实现
pyeqs的Python项目详细描述
#派克斯[![生成状态](https://travis-ci.org/Yipit/pyeqs.svg?branch=master)](https://travis-ci.org/Yipit/pyeqs)[![覆盖状态](https://coveralls.io/repos/Yipit/pyeqs/badge.png)](https://coveralls.io/r/Yipit/pyeqs)
####python elasticsearch查询集
一个python库,用于简化构建复杂的elasticsearch json查询。基于django queryset api,由[官方python elasticsearch库](https://github.com/elasticsearch/elasticsearch-py)支持。支持弹性搜索1.0+。
这是试图提供一个django querysets用户熟悉的接口。由于后端的不同,无法镜像QuerySet API并保持完整的搜索功能。使用此库时请注意,接口可能没有相同的权衡和注意事项。
####当前发展状况
目前prev1.0,因此没有锁定api。这个项目的目标是一旦达到一个稳定的api,就遵循[语义版本控制](http://semver.org/)。当后端elasticsearch py库将其版本锁定到elasticsearch版本时,可能会出现问题。
##安装
`bash pip install pyeqs `
##用法
查看[api引用](https://github.com/Yipit/pyeqs/blob/master/API_REFERENCE.md)以获取示例。
##备选方案
####Python *[elasticutils](http://elasticutils.readthedocs.org/en/latest/):mozilla的库使用一种利用内置的&;、和~构造查询的语法。 *[elasticsearch dsl py](https://github.com/elasticsearch/elasticsearch-dsl-py):一个由elasticsearch创建的库,它与elasticutils相似且兼容。 *[django haystack](https://github.com/toastdriven/django-haystack):一个库,它包装多个搜索后端,并将它们显示在与django模型相同的界面中。以我的经验,这是一个非常多功能的解决方案,很难直接操作elasticsearch,但当您需要特性集时,这是非常棒的。
####红宝石 *[plunk](https://github.com/elbii/plunk):一个ruby库,允许您为比简单的“查询字符串”请求更强大的查询编写字符串
####哈斯克尔 *[bloodhound](https://github.com/bitemyapp/bloodhound/):一个基本的elasticsearch客户端,它还能够利用语言的内置操作符来构造查询。
####Perl语言 *[elasticsearch::searchbuilder](https://metapan.org/pod/elasticsearch::searchbuilder):一个elasticsearch客户端,用于帮助构建复杂的查询和过滤器。