Hippo CMS 在链接的 bean 中搜索
Hippo CMS search within linked beans
我有一个河马豆,其中包含作为 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"。到目前为止,这个查询没有 return 任何东西。是否可以查看作为 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();
在这种情况下,查询 return 仅查询那些标题包含字符串 "Hello World"
的文档
example:comment 不是评论,它是对评论的引用。所以这个查询是在 uuid 中寻找字符串 "good job"。不幸的是,您无法按照您想要的方式创建此查询。您将需要针对每篇文章进行第二次查询以查找此信息。或者查询 "good job" 的所有评论并检索与它们关联的文章。无论哪种方式,它都会很昂贵。
这将return所有包含link的评论文档到文章文档:
ContentBeanUtils.createIncomingBeansQuery(article,scope,"example:comment/@hippo:docbase,Comment.class,false)
第一个参数是文章 class 的具体实例,该文章已被 link 多个评论文档编辑。
我有一个河马豆,其中包含作为 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"。到目前为止,这个查询没有 return 任何东西。是否可以查看作为 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();
在这种情况下,查询 return 仅查询那些标题包含字符串 "Hello World"
的文档example:comment 不是评论,它是对评论的引用。所以这个查询是在 uuid 中寻找字符串 "good job"。不幸的是,您无法按照您想要的方式创建此查询。您将需要针对每篇文章进行第二次查询以查找此信息。或者查询 "good job" 的所有评论并检索与它们关联的文章。无论哪种方式,它都会很昂贵。
这将return所有包含link的评论文档到文章文档:
ContentBeanUtils.createIncomingBeansQuery(article,scope,"example:comment/@hippo:docbase,Comment.class,false)
第一个参数是文章 class 的具体实例,该文章已被 link 多个评论文档编辑。