AEM CQ5 查询生成器:如何通过在同一 属性 中搜索 2 个不同的值来获得结果?

AEM CQ5 Query Builder: How to get result by searching for 2 different values in same property?

我想获得所有节点的结果匹配包含 属性 'abc' 值为 'xyz' 或 'pqr'.

我正在尝试以下方式:

  1. http://localhost:4502/bin/querybuilder.json?path=/content/campaigns/asd&property=abc&property.1_value=/%xyz/%&property.2_value=/%pqr/%property.operation=like&p.limit=-1&orderby:path

  2. http://localhost:4502/bin/querybuilder.json?path=/content/campaigns/asd&property=abc&property.1_value=/%xyz/%&property.2_value=/%pqr/%&property.1_operation=like&property.2_operation=like&p.limit=-1&orderby:path

  3. http://localhost:4502/bin/querybuilder.json?path=/content/campaigns/asd&1_property=abc&1_property.1_value=/%xyz/%&1_property.1_operation=like&2_property=abc&1_property.1_value=/%xyz/%&2_property.1_operation=like&p.limit=-1&orderby:path

但其中 none 达到了我的目的。我在其中遗漏了什么吗?

查询看起来正确,因此应该有效。但是,如果您只想在查询中匹配 xyzpqr,则可能不需要值中的 /

例如

path=/content/campaigns/asd
path.self=true //In order to include the current path as well for searching
property=abc
property.1_value=%xyz%
property.2_value=%abc%
property.operation=like
p.limit=-1

您可以检查的可能的事情

  1. 检查您尝试搜索的路径是否包含所需的 nodes/properties。
  2. 检查您使用的 属性 名称是否正确。
  3. 如果要匹配精确值,可以避免使用 like 运算符并从值中删除通配符。

您实际上可以在查询中使用 'OR' 运算符来组合 属性 的两个或多个值。 例如查询调试界面:http:///libs/cq/search/content/querydebug.html

path=/content/campaigns/asd
property=PROPERTY1
property.1_value=VALUE1
property.2_value=VALUE2
property.operation=OR
p.limit=-1

它适用于以下查询:

http://localhost:4502/bin/querybuilder.json?orderby=path
&p.limit=-1
&path=/content/campaigns
&property=jcr:content/par/nodeName/xyz
&property.1_value=pqr
&property.2_value=%abc%
&property.operation=like
&type=cq:Page

注意: 属性 名称应该从我们期望的节点类型中完全指定。

例如:上面的 jcr:content/par/nodeName/xyz 而不仅仅是 xyz