推荐系统中Elasticsearch如何作为召回组件
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":
}
}
}
}
}
相关文章