Field Capabilities API
editField Capabilities API
editThe field capabilities API allows for retrieving the capabilities of fields across multiple indices.
Field Capabilities Request
editA FieldCapabilitiesRequest
contains a list of fields to get capabilities for,
should be returned, plus an optional list of target indices. If no indices
are provided, the request will be executed on all indices.
Note that fields parameter supports wildcard notation. For example, providing text_*
will cause all fields that match the expression to be returned.
FieldCapabilitiesRequest request = new FieldCapabilitiesRequest() .fields("user") .indices("posts", "authors", "contributors");
Optional arguments
editSynchronous Execution
editThe fieldCaps
method executes the request synchronously:
FieldCapabilitiesResponse response = client.fieldCaps(request, RequestOptions.DEFAULT);
Asynchronous Execution
editThe fieldCapsAsync
method executes the request asynchronously,
calling the provided ActionListener
when the response is ready:
The asynchronous method does not block and returns immediately. Once the request
completes, the ActionListener
is called back using the onResponse
method
if the execution successfully completed or using the onFailure
method if
it failed.
A typical listener for FieldCapabilitiesResponse
is constructed as follows:
FieldCapabilitiesResponse
editFor each requested field, the returned FieldCapabilitiesResponse
contains its type
and whether or not it can be searched or aggregated on. The response also gives
information about how each index contributes to the field’s capabilities.
Map<String, FieldCapabilities> userResponse = response.getField("user"); FieldCapabilities textCapabilities = userResponse.get("keyword"); boolean isSearchable = textCapabilities.isSearchable(); boolean isAggregatable = textCapabilities.isAggregatable(); String[] indices = textCapabilities.indices(); String[] nonSearchableIndices = textCapabilities.nonSearchableIndices(); String[] nonAggregatableIndices = textCapabilities.nonAggregatableIndices();
A map with entries for the field’s possible types, in this case |
|
All indices where the |
|
The subset of these indices where the |
|
Another subset of these indices where the |