2

ES インデックスのさまざまなフィールドでインデックス化されたユーザー オブジェクトがあります。現在オンラインのユーザーを教えてくれる別のサービス (ES ではない) もあります。これは、ユーザー ID の単純なリストです。この「is_online」フィールドのインデックスを作成できません。定期的に変更されるためです。

しかし、このオンラインステータスを使用して、さまざまなクエリを実行できるようにしたいと考えています。たとえば、結果をフィルタリングして、現在オンラインのユーザーのみを取得できるようにしたいと考えています。しかし、この ID リストに基づいてブースト クエリを実行できるようにしたいとも考えています。たとえば、できればオンラインのユーザーのリストを取得できるようにしたいと考えています。それを行うための最良の方法が何であるかはわかりません(パフォーマンスPOV)。

どんな助けでも大歓迎です

4

1 に答える 1

3

用語クエリが役立つと思います:

GET /_search
{
    "query" : {
        "terms" : {
            "user" : ["id1", "id2", "idn"]
        }
    }
}
于 2013-01-31T11:48:31.250 に答える