1. A computer-implemented method of user query response comprising: receiving a user query from a user; obtaining a result of: matching the user query to stored responses to obtain an initial set of matched responses; calculating a confidence metric indicating the likelihood of the initial set of matched responses satisfying the user query; in response to determining the confidence metric indicating the likelihood of the initial set of matched responses satisfying the user query to be below a specified threshold supplementing the user query with a plurality of contextual data comprising at least one of: 1) a count of previously received user queries from the user, 2) a count of responses in the initial set of matched responses, 3) a count of words in the user query, 4) a total count of databases in which responses are stored, and 5) a count of databases selected by the user in which responses are stored; and further matching the user query, supplemented by the plurality of contextual data, to stored responses by applying a plurality of disparate matching techniques to obtain a further set of matched responses; for each matched response in the further set of matched responses, calculating a degree-of-match metric indicating a quality of match between that matched response and the user query, the calculating taking into account the plurality of contextual data; and presenting at least one matched response, based on the result, of the initial set of matched responses and the further set of matched responses to the user wherein at least one of the plurality of disparate matching techniques differs from techniques used to obtain the initial set of matched responses.