searchUsers #
Return users matching the given filter.
searchUsers(filters, [options], callback) #
Arguments | Type | Description |
---|---|---|
filters | JSON Object | Filter in Elasticsearch's Query DSL format |
options | JSON Object | Optional parameters |
callback | function | Callback handling the response |
Options #
Option | Type | Description | Default |
---|---|---|---|
from | number | Starting offset | 0 |
queuable | boolean | Make this request queuable or not | true |
scroll | string | Start a scroll session, with a time to live equals to this parameter's value following the Elastisearch time format | undefined |
size | number | Number of hits to return per result page | 10 |
To get more information about scroll sessions, please refer to the API reference documentation.
Callback Response #
Return a JSON Object
Usage #
JSONObject filter = new JSONObject()
.put("bool", new JSONObject()
.put("must", new JSONArray()
.put(new JSONObject()
.put("terms", new JSONObject()
.put("profileIds", new JSONArray().put("anonymous").put("default"))
)
)
.put(new JSONObject()
.put("geo_distance", new JSONObject()
.put("distance", "10km")
.put("pos", new JSONObject()
.put("lat", 48.8566140)
.put("lon", 2.352222)
)
)
)
)
);
// optional: result pagination configuration
Options options = new Options();
options.setFrom((long) 0);
options.setSize((long) 42);
options.setScroll("1m");
kuzzle
.security
.searchUsers(filters, options, new ResponseListener<SecurityDocumentList>() {
@Override
public void onSuccess(SecurityDocumentList users) {
// users.getDocuments() returns an users list
for(User user : users.getDocuments()) {
}
// Total number of profiles, regardless of pagination
long total = users.getTotal();
// Available only if a "scroll" option has been provided
String scrollId = users.getScroll()
}
@Override
public void onError(JSONObject error) {
}
});
Callback response:
{
"total": 124,
"users": [
// array of User objects
],
// only if a scroll parameter has been provided
"scrollId": "<scroll identifier>"
}
Edit this page on Github(opens new window)