当前位置: 首页 > 知识库问答 >
问题:

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

益承颜
2023-03-14

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

我在以下方面进行尝试:

>

  • http://localhost:4502/bin/querybuilder.json?path=/content/campaigns/asd

    http://localhost:4502/bin/querybuilder.json?path=/content/campaigns/asd

    http://localhost:4502/bin/querybuilder.json?path=/content/campaigns/asd

    但都没有达到我的目的。我在这件事上遗漏了什么吗?

  • 共有3个答案

    柯建业
    2023-03-14

    它处理了以下查询:

    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

    孔志强
    2023-03-14

    实际上,您可以在查询中使用“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
    
    索正豪
    2023-03-14

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

    对于eg.

    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. 检查您试图搜索的路径是否包含所需的节点/属性
    2. 检查您使用的属性名称是否正确
    3. 如果要匹配精确的值,可以避免使用like运算符,并从值中删除通配符
     类似资料:
    • 我有以下表格: 表名称 -----| 表字段 图书--------------------图书id、图书名称 作者 ---------- | author_id、author_name 图书作者-作者id,图书id 用户------------------用户id、用户名 注释----------注释id,注释 评论|用户|评论| id、用户id、图书id、日期 我需要显示书名,它的作者,以及为这

    • 如何在给定节点下列出多个属性的所有属性和各自的值。 例如,在下面的代码中,我只能搜索一个属性。但我需要搜索10个不同的属性(alttext、img、promos等),并获得相应的值(如果存在)。

    • 我需要在AEM查询生成器中进行搜索,只获取尚未移动到新位置的标签。 添加到旧标签的唯一属性是"",它具有新位置的路径。 但是当我试图搜索没有这个属性的标签时,我没有得到任何结果: 我错过什么了吗?搜索由第三方完成,无法处理其收到的标签列表。所以我只需要通过这个查询获取正确的列表。

    • 我想做的是用同一个键查询Firebase中的两个值。我的数据库是这样的: 我在我的Android项目中编写了一个查询来检索具有相同语言的所有文档,并且它有效。 但是现在我想做的是,寻找“en”和“fr”。 我在网上搜索过,但没有发现任何积极的方面。

    • 问题内容: 我的问题很简单。我想在Elastica的一个查询中组合两个过滤器,一个filter_bool和一个filter_range。该代码是 我不能在$ elasticaQuery中将两个过滤器放在一起。请给我任何帮助! 谢谢! 问题答案: 为什么不将范围过滤器添加为过滤器中的另一个术语: 您需要在布尔过滤器中使用过滤器,而不是查询。注意我已经使用而不是您正在使用的范围查询。 另外,您知道您使

    • 我有一个查询,它从弹性索引中获取一些用户帖子数据。我对那个查询很满意,尽管我需要让它返回具有唯一用户名的行。当前,它显示用户的相关帖子,但它可能会显示一个用户两次... 我读过关于聚合的文章,但不太了解(也尝试过使用AGG,但也不起作用)。。。。感谢您的帮助