2015-09-14 112 views
0

这是一个棘手的问题,让您了解,但让我尝试它。GSA中的结果分组 - 基于元数据或集合的聚合结果

今天,我在页面中有8个不同的portlet,并且当全局搜索框被触发时,我激发8个GSA查询,以将每个结果集显示在各自的portlet上。

每个GSA调用之间的差别是集合名称

现在我不能设法想一个解决方案来替换8个不同的GSA一个电话呼叫。

每个集合至少有100k个文档,GSA搜索响应可以给出的最大结果是每个请求/调用只有1000个和100个。所以我很难分析整个XML集并以编程方式对它们进行分组。

我知道这是一个糟糕的设计,显示8个不同的portlet与8个不同的查询,所以我不从这个角度寻求帮助。设计是健壮的是一个假设。你能想出任何有创意的东西来解决这个逻辑吗?非常感谢您提前感谢您阅读我的问题。

+0

您的声明中存在冲突。如果你需要有8个portlet,那么你需要有8个portlet。但是,你在问如何缩小结果。这似乎是相互排斥的。如果你需要8个portlet,那么你需要8个电话。但是,如果您需要过滤...那么您应该描述该需求,以便社区可以提供一些指导。 –

+0

绝对如此。我是新来的Stackoverflow,并认为TITLE是不可编辑的。我的错。我已经做了。谢谢! –

回答

1

在单个页面的8个不同portlet中显示8个不同的结果集听起来像是一个相当不愉快的用户体验。

如果重新设计它是一个选项,那么它听起来像一个分面搜索将运作良好的情况。

如果使用Dynamic Navigation,并在8个方面分割你的收藏8向上(容易,如果你使用Entity Recognition基于URL模式来标记的内容),你会得到一个更好的用户体验,让用户在向下钻取到特定的区域而不是用8种不同的结果集轰击它们。

+0

谢谢你的尝试。并感谢您同意我关于糟糕的用户体验,但不幸的是我没有发言权。我确实想到了实体提取,但由于它不会直接取代我们今天的实体,所以我无法使用它。以这种方式,我无法想象,或者我不认为甚至有可能为8个不同的portlet进行一次GSA调用 –