Creates a secondary index over one JSON field path with a numeric, tag, or text kind. Existing documents are indexed at creation and future writes maintain the index automatically. The current wire response is a transitional bare index definition.
Successful mutations return an acknowledgement that identifies the affected target, the mutation effect, and commit facts when the operation changed stored state.
Examples
Create a secondary index on a JSON field.
CLI
$ strata json index create by_name $.name tag
$ strata json index list
Wire
{"field_path":"$.name","index_type":"tag","name":"by_name","type":"json_create_index"}
{"type":"json_list_indexes"}
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
field_path | string | yes | Indexed field path. |
index_type | JsonIndexType | yes | Index kind. |
name | string | yes | Index name. |
Plus the optional scope: branch and space (default to the session branch and the "default" space).
Returns
MutationAck<JsonIndexCreate>.
Errors
failed_precondition.engine.runtime_closednot_found.engine.branchinvalid_argument.engine.product_spaceinvalid_argument.engine.json_index_nameinvalid_argument.engine.json_index_name_reservedinvalid_argument.engine.json_pathinvalid_argument.engine.json_path_too_longalready_exists.engine.json_index
Invocation
- CLI:
strata json index create - Wire type:
json_create_index