首页 > 解决方案 > AWS CloudSearch 按唯一值过滤

问题描述

我的基本设置

我有一个AWS CloudSearch域,它为我的代码存储对象以使它们可搜索。每个对象都从某处的文件派生而来,并具有对其派生文件的 id 的引用。

我的问题

目前我发送一个搜索词,它会返回符合预期的对象。但是,我还希望可以选择只从每个文件返回一个结果。这可能吗?

我当然可以对结果进行后期处理,但这需要首先获得我不想做的所有结果。我要告诉CloudSearch服务器端来构建使用文件 id 属性的唯一结果的列表,所以基本上如果它找到匹配项,它还会检查它是否已经与该文件 id 匹配,如果没有,它包括它但如果是这样,它会排除它。

这可能吗?

编辑

太添加一点细节,我有一些概念上是这样的:

对象布局

所以实际的对象是定义,但它们来自文件,因此每个文件可以有多个定义。我需要能够直接搜索我已经存在的定义,但我还希望能够按文件过滤它,以便每个文件只返回一个定义。因此,在上面的示例中,如果所有 5 个项目都与搜索匹配,它将返回 1 和 4(1 是文件 1 中的第一个定义,4 是文件 2 中的第一个定义),即使 2,3 和 5 也与搜索匹配.

标签: amazon-web-servicesamazon-cloudsearch

解决方案


推荐阅读