高级查询的GUI和一些扩展 - Plone的简单搜索方式
项目描述
简介
此软件包提供了Dieter Maurer的《高级查询》的完整用户界面。它使您能够使用一种强大的语言来搜索内容。它还提供功能,以保存参数化和条件查询以供以后使用(预定义查询)。请查看示例以获取更多信息。
安装
将anthill.querytool放在eggs=和zcml=中
确保已安装AdvancedQuery(适用于Plone 3.x)
示例查询
查询可能看起来像这样
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,其中TODAY=DateTime())并且您可以在查询中放置条件。
条件是启用或禁用查询中某些部分的有力方式。if语句检查给定参数是否存在。您还可以将if替换为ifnot,这样只有在参数未设置的情况下才激活给定部分。
您可以保存此查询,稍后像这样调用它
context.query_tool.executePredefinedQuery('contentsearch', text='Test*', allowed_types=['Folder', ])
扩展
此版本添加了一些额外的查询运算符(在SearchOperators.py中定义)。以下运算符目前可用
Count 计算搜索结果中的项数。 (例如 Count(Eq(‘SearchableText’, ‘moses’)) )
Sum 计算整数的总和。 (例如 Sum(Ge(‘commentcount’, 10)) )
Avg 计算整数的平均值。 (例如 Avg(Ge(‘userviews’, 1)) )
查看 SearchOperators.py 以获取如何创建您自己的操作符的示例。
提交查询
预定义查询
谢谢
Markus Reinsch 编写了此包的前身
Dieter Maurer 对 AdvancedQuery 的出色实现
变更日志
0.2 - 2009/08/21
重装文档 [spamsch]
0.1 - 2009/08/20
初始发布
项目详情
关闭
anthill.querytool-0.2.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 94b89b32220a88c1d84d830438a357e633505354591200145724f34254a3698a |
|
MD5 | 189e899d1123f4ba9c7fb512acbe0f61 |
|
BLAKE2b-256 | dea7099fb0a54dedd96a827e6559a2b0b3b79dc62ab6950adaea1650d9fd28c7 |