通过distinct字段搜索结果 - cloudsearch / solr / lucene

时间:2016-06-09 17:33:05

标签: solr lucene amazon-cloudsearch

这是在Amazon Cloudsearch上,但它可能适用于任何通用的Lucene / Solr安装。

我正在为要搜索的文章索引一堆文章和评论。当我搜索"特朗普很糟糕时,我希望能够找回与匹配评论的文章列表相匹配的评论列表。

我知道我可以在两个不同的域中对它们进行索引,但我想知道是否有一种更简单的方法来做一个" distinct"在一个领域......换句话说......

我有一个每条评论的索引文档列表,其中还包含article_id作为字段..所以:

  

id = 1 {' article_id':10}

     

id = 2 {' article_id':10}

现在,如果这两条评论都匹配,我会得到2条结果。 (是的,我可以在客户端做一个明显的,但它会搞乱分页等)。我希望能够回到[10]

1 个答案:

答案 0 :(得分:0)

CloudSearch无法做到与众不同,因此您需要提出另一种解决方案。

我能提供的最好的方法是将所有评论连接到文章记录的单个文本字段中,并添加一个类型字段来区分评论和文章(如果您还没有评论和文章)。然后,您可以在搜索连接的注释和文章正文时查询type = Article,并且每篇文章只会收到一个结果。

即使在每篇文章中将数千个注释连接到单个字段,我确信CloudSearch也能表现良好(甚至可能比成千上万的额外记录更好)但是连接所有注释的更新过程可能会变得很重。如果你收到了成千上万的评论而不是添加一个标记跟踪,如果它已经连接在一起,那么你不必每次都重新构建它们。