使用django的elasticsearch查询功能

elasticfun的Python项目详细描述


#弹性乐趣

一个小的工具集,使使用PyelasticSearch更容易和有趣。 我们的主要目标是:

  • Provide an easy and consistent way to build queries
  • Hook up a connection manager to the django settings system

我们的一些长期目标

  • An API to declare indexes and fields
  • A set of commands to manage (update, rebuild, clean) indexes

##查询对象

这个api旨在为您提供一种愉快的方式来构建甚至是复杂的查询 用于弹性搜索。下面的代码片段演示了它的工作原理:

`python >>> from elasticfun import Query >>> query = (Query('fitness') & (Query(category='Accessories') | Query(category='SportWear'))) >>> str(query) '("fitness" AND (category:"Accessories" OR category:"SportWear"))' `

###在查询对象上搜索单词

查询对象的主构造函数只接收一个表达式 同时,这意味着如果需要组合不同的单词/字段 要构建查询,必须使用 反对。这意味着:

`python >>> from elasticfun import Query >>> str(Query('icecream')) '"ice cream"' `

与此完全不同:

`python >>> from elasticfun import Query >>> str(Query('ice') & Query('cream'))'("ice" AND "cream")' `

与此完全不同:

`python >>> from elasticfun import Query >>> str(Query('ice') | Query('cream'))'("ice" OR "cream")' `

###从用户输入生成查询

上面的api是程序员用来构建查询的 动态地通过代码。但正如我们所知,一个非常常见的查询 builder对象接收用户输入,例如从搜索框。

`python >>> from elasticfun import Query >>> str(Query.from_user_input('icecream'))'("ice" AND "cream")' `

但是,也可以将相同操作的默认运算符更改为 得到这样的结果:

`python >>> from elasticfun import Query >>> str(Query.from_user_input('ice cream', default_op='OR'))'("ice" OR "cream")' `

##测试覆盖率

这个库的第一行是一个单元测试,它完全 写在TDD的概念下,我们计划保持这种方式。 如果您愿意为我们的拙劣项目提供补丁,请确保 保险范围不会减少。

另外,我强烈建议您开始您建议的功能或错误修复 通过写测试。它肯定会降低复杂性。 实际的代码,从而提高它的质量。

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

推荐PyPI第三方库


热门话题
java如何在Spring工具套件中找到Spring版本?   是否有API将vSphere JSON结果映射到适当的Java对象?   java在spring WebSocket中有请求作用域吗?(websocket scop==会话范围)   java我想从list1中删除list2元素并返回list1   java使用JPA/Hibernate为单个集合使用多个@Where   JSF2.0中混合Ajax和完整请求的java   java变量miles可能尚未初始化   java使用文件路径StringArray构建父子数组   java数据源在struts中不起作用   java从另一个类访问txtField值   具有相同主键和外键双向关系的java Hibernate实体OneToOne   java Android广播接收器:上下文问题   java我可以将实体指定为数据存储属性以实现类似joinlike的功能吗?   java如何排除hadoop核心依赖项   java是否可以确定用户是否实时单击了任何通知(不仅仅是来自我的应用程序)?   java在单独的类中访问私有变量?   java如何使用Spring@Value注入映射