带有一些扩展的高级查询图形用户界面-搜索plone的简单方法

anthill.querytool的Python项目详细描述


简介

此包为AdvancedQueryby提供完整的用户界面 迪特尔·莫雷尔。它使您能够使用强大的语言来搜索 内容。它还提供保存参数化和条件化的功能。 供以后使用的查询(预定义查询)。更多信息请看示例。

安装

  • 将anthill.querytool放入eggs=和zcml=
  • 确保已安装AdvancedQuery(适用于plone 3.x)

示例查询

A query could look like that:

And(
    Eq('SearchableText', '$text'),
    ~Generic('path', {'query':'Members', 'level':-1}),

    [[if($allowed_types)]]
        In('portal_types', $allowed_types),
    [[endif]]

    [[ifnot($allowed_types)]]
        In('portal_types', ['Folder', 'Document']),
    [[endif]]

    Ge('start_date', TODAY)
)

在这里,您可以将查询参数化(启用变量扩展 使用$,还可以使用定义的常量(当前只有一个活动的 其中today=datetime()),您可以在查询中放入条件。

条件语句是启用或禁用 查询。^ {TT2}$语句检查给定参数是否存在。你也可以 将if替换为ifnot,它只在 参数未设置。

您可以保存此查询,稍后再这样调用:

context.query_tool.executePredefinedQuery('contentsearch', text='Test*', allowed_types=['Folder', ])

扩展名

此版本添加了一些附加的查询运算符(在 searchOperators.py)。当前提供以下操作员:

  • Count统计搜索结果中的项。(例如count(eq('searchabletext','moses'))
  • Sumcomputes sum over int result(例如sum(g e('commentcount',10))
  • Avg计算int结果的平均值(例如avg(g e('userviews',1))

查看searchOperators.py以获取有关如何创建自己的运算符的示例。

提交查询

http://files.banality.de/public/anthill.querytool.submit.jpg

预定义查询

http://files.banality.de/public/anthill.querytool.predefined.jpg

谢谢

  • Markus Reinsch,用于编码此软件包的前身
  • Dieter Maurer对AdvancedQuery的出色实现

变更日志

0.2-2009年8月21日

  • 修改后的文档[SPAMSCH]

0.1-2009/08/20

  • 初始版本

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

推荐PyPI第三方库


热门话题
Java程序运行时错误   JavaAndroidStudio:与往常一样,四舍五入到next.5或.0   apache使用Java以表单数据形式上载文件   带矢量的java Freeflight相机如何正确旋转?   java如何以编程方式检索有关当前项目的语言、操作系统、体系结构等信息   java Twitter4J tweet实体?   java PdfBox编码异常   java在拖动未装饰的舞台时,如何强制光标停留在窗口上   JavaSpring注释扫描优化   java无法通过IntelliJ Idea在tomcat上运行服务   java在生命周期中如何拦截请求?   java中的数组返回错误