我在solrcloud 7.4上有3个收藏集:
Data
填充主数据UserPref
(数据+用户活动)UserCount
(用户活动计数)模型数据看起来像这样
Data:
{
"id":"album-1",
"album_id": "1",
"type":"album",
"complex_search_keyword": ["say"],
"complex_search_keyword_soundex": ["say"],
},
UserPref:
{
"id":"album-1",
"album_id": "1",
"type":"album",
"users": ["user-m2-1", "user-m2-2"],
"search_keyword": ["say"],
"search_keyword_soundex": ["say"],
},
UserCount:
{
"id":"user-m2-1-album-1",
"album_id": "1",
"user_id": "1",
"user_m_id": "m2",
"type":"stream",
"count":101,
}
首先,我在Data
集合中进行了标准查询,以获取一般专辑。通常与complex_search_keyword:say
一起使用。
然后,我有一个用户活动UserPref
,该用户活动已经在用户首选项中播放了该专辑,并且所有用户都已经播放了该专辑的用户首选项数据。 UserCount
只是用来找出用户播放该专辑count
的次数的数据。我考虑使用类似users
多值字段的这种方法,因为用户可以拥有10m数据。
我的问题是,我可以通过一次查询从count
的{{1}}中获得UserCount
吗?还是流?我的计划看起来像这样
UserPref
在UserPref
中搜索相册fq=user_id:user-m2-1 AND search_keyword:say
)album-1
或直接count
来获取UserCount
中的所有fq=user_id:1 AND user_m_id:m2 AND album_id:1
数据fq=id:user-m2-1-album-1
在Data
中提升主要查询