推荐系统中Elasticsearch如何作为召回组件

2020-05-22 00:00:00 用户 推荐 实时 离线 召回

1 Overview

推荐场景下,召回起到快速筛选内容的作用,因此筛选内容的时间非常重要,尽可能在短的时间将用户感兴趣的内容召回回来,一般情况下不要求有序。

目前推荐系统中,可以实现两种召回方式,分别为实时召回和离线召回。召回层主要采用了 Elasticsearch 作为内容的存储。

2 实时召回

以给 user 推荐 item 的场景为例。假设存在一个记录了所有 item 特征标签的倒排索引,也就是 ES 的索引。



如何理解这个 item id 为4141199的文档呢?ES 中存储的是一个 Json 文档,可以理解成除了 item_id 字段外,其他都是表示 item 特征的字段,比如说 cntry 为4,cvr_90d 为0等等。

那么基于用户特征/标签去召回 item 的时候,用户的特征标签是如何组织成一条 query 的呢?

{
  "query": {
    "bool": {
      "must": {
        "term": {
          "cntry": 4,
          "cvr_90d": 
        }
      }
    }
  }
}

相关文章