Hippo CMS在链接的bean中搜索

问题描述 投票:0回答:2

我有一个河马豆,其中包含一个hippobe的列表作为linkedBeans。

  @HippoEssentialsGenerated(internalName = "example:comment")
public List<HippoBean> getComment() {
    return getLinkedBeans("comment", HippoBean.class);
}

现在我想创建一个查询来检索这样的注释:

hstQuery = HstQueryBuilder.create(scope)
            .ofTypes(Article.class)
            .where(constraint("example:comment").contains("good job"))
            .build();

我们的想法是检索所有文章,使得与它们相关的评论包含字符串“good job”。到目前为止,此查询不返回任何内容。是否可以查看作为LinkedBeans关联到另一个HippoBean的HippoBeans数组?如果是这样,怎么能实现呢?我见过允许在单个属性中搜索文本的示例,如下所示:

 HstQuery hstQuery = HstQueryBuilder.create(scope)
            .ofTypes(BaseDocument.class)
            .where(constraint("title").contains("Hello World"))
            .limit(pageSize)
            .offset(pageSize * (pageNum - 1))
            .orderByDescending("mynamespace:date")
            .build();

在这种情况下,查询只返回那些文档,使其标题包含字符串“Hello World”

repository contains hippocms
2个回答
1
投票

示例:评论不是评论,它是对评论的引用。所以这个查询在uuid中寻找字符串“good job”。遗憾的是,您无法以您希望的方式创建此查询。每篇文章都需要第二个查询来查找此信息。或查询所有评论“好工作”并检索与其相关的文章。无论哪种方式,它都会很昂贵。


1
投票

这将返回包含文章文档链接的所有注释文档:

ContentBeanUtils.createIncomingBeansQuery(article,scope,"example:comment/@hippo:docbase,Comment.class,false)

第一个参数是由几个注释文档链接的文章类的特定实例。

有关更详细的说明,请参阅:https://www.onehippo.org/library/concepts/search/search-all-hippodocument-beans-that-have-a-link-to-a-hippodocument-you-have.html

© www.soinside.com 2019 - 2024. All rights reserved.