Qlik Associative Big Data Index REST API for index maintenance

The Qlik Associative Big Data Index REST API provides a REST gateway to access the public RPCs of the Index Maintenance Service. The REST API module is used to add data to an index and trigger an incremental update of the index to include the new data.

You can find out which endpoints are supported by calling {url}:{port}/v1/bdi/about/api.

Example:  

POST https://localhost:8080/v1/bdi/about/api

Sending a REST request to append data

To add a file to the index:

POST https://localhost:8080/v1/bdi/idxmaint/files/add

To trigger a new index update without waiting for the index delay interval to elapse:

POST https://localhost:8080/v1/bdi/idxmaint/files/trigger

For example, to notify the indexing service of a new file, the following curl command can be used:

curl -k -X POST -H "Content-Type: application/json" -d "{\"file_path\":\"/path/to/my/file.parquet\"}" "https://localhost:8080/v1/bdi/idxmaint/files/add"

To force the Index Manager to start indexing any new files that have already been notified, the following curl command can be used:

curl -k -X POST -H "Content-Type: application/json" -d "{\"schema_name\":\"/path/to/my/schema.json\"}" "https://localhost:8080/v1/bdi/idxmaint/files/trigger"

The backslash characters are currently necessary to escape the quotation marks because the event_infos Potobuf message structure is treated as a member of a wrapping JSON object by the Ggrpc-gateway. Its contents is a string that must also be a JSON structure sent to the Index Maintenance Service.

These curl statements result in a REST API POST to the Gateway server on port 8080 which in turn forwards those POSTs to as grpc RPC calls to the Index Maintenance Service.

The REST POSTs can be issued from a host other than the one on which the Gateway Service and Index Maintenance Service are running. then the localhost in the curl statements must be replaced with the IP address of the host on which the Gateway Service and Index Maintenance Service are running.

Did this information help you?

Thanks for letting us know. Is there anything you'd like to tell us about this topic?

Can you tell us why it did not help you and how we can improve it?