我在 ES 索引中使用各种字段索引用户对象。我还有另一个服务(不是 ES)告诉我我的哪些用户当前在线。这是一个简单的用户 ID 列表。我无法索引这个“is_online”字段,因为它经常变化。
但我希望能够使用此在线状态执行各种查询。例如,我希望能够过滤我的结果以仅获取当前在线的用户。但我也希望能够根据这个 id 列表执行 boost 查询。例如,我希望能够获得用户列表,最好是那些在线的用户。我不知道最好的方法是什么(性能 POV)。
欢迎任何帮助
我在 ES 索引中使用各种字段索引用户对象。我还有另一个服务(不是 ES)告诉我我的哪些用户当前在线。这是一个简单的用户 ID 列表。我无法索引这个“is_online”字段,因为它经常变化。
但我希望能够使用此在线状态执行各种查询。例如,我希望能够过滤我的结果以仅获取当前在线的用户。但我也希望能够根据这个 id 列表执行 boost 查询。例如,我希望能够获得用户列表,最好是那些在线的用户。我不知道最好的方法是什么(性能 POV)。
欢迎任何帮助
我认为条款查询可能会有所帮助:
GET /_search
{
"query" : {
"terms" : {
"user" : ["id1", "id2", "idn"]
}
}
}