我的用户对象用ES索引中的各个字段编制索引。 我还有另一项服务(不是ES)告诉我我的哪些用户目前在线。这是一个简单的用户ID列表。我无法将此“is_online”字段编入索引,因为它会定期更改。
但我希望能够使用此在线状态进行各种查询。 例如,我希望能够过滤我的结果,以便只获得当前在线的用户。 但我也希望能够根据这个ID列表执行提升查询。 例如,我希望能够获得一个用户列表,最好是在线用户。 我不知道最好的方法是什么(性能POV)。
欢迎任何帮助
答案 0 :(得分:2)
我认为TermsFilter可以在这里提供帮助。
{
"constant_score" : {
"filter" : {
"terms" : { "user" : ["id1", "id2", "idn"]}
}
}
}