Search multiple values against multiple fields

Hmm, after some more reading and googling, it looks like the following will work:

GET index/_search
{
    "query" : {
        "bool" : {
            "should" : [
                {"terms" : { "user" : ["john", "jack", "bill"]}},
                {"terms" : { "fullname" : ["john", "jack", "bill"]}},
                {"terms" : { "firstname" : ["john", "jack", "bill"]}}
            ]
        }
    }
}