在Elasticsearch中,您可以基于其他索引的字段进行过滤吗?

时间:2018-08-17 01:36:43

标签: elasticsearch

场景:

产品索引-包含产品ID,产品名称,产品类型(例如类别,例如食物,衣服等),商店ID(即销售商店的ID)。

>

商店索引-包含商店ID和商店名称

我有一个产品搜索页面,我可以根据名称搜索产品,并根据类别和商店ID对其进行过滤。效果很好。

问题:

我还需要一个商店搜索页面,该页面可以搜索商店名称,但是还需要能够根据产品类型进行过滤。例如,用户需要能够在商店名称字段上进行全文搜索,然后还要过滤仅包含食品的商店。在单个查询中有可能吗?

我目前的实现方式有点复杂。

  1. 我在两个索引中进行搜索,并返回所有属于食品类别且汇总在唯一商店ID中的产品。
  2. 我还会返回所有与全文商店名称搜索匹配的商店。
  3. 然后,我使用客户端中1.中的聚合中的存储桶键从2.中清洗结果。

但这是一个令人头疼的问题,因为我无法轻松地使用弹性分页,而且我必须始终返回所有商店,而不是返回前X名,如果商店数量增加,这可能是个问题。

0 个答案:

没有答案