Goal
The Sitefinity connector provides a mechanism for notifying data sources for the start of the indexing procedure. This way, you can use multiple sources to add items to the Hawksearch index created by Sitefinity.
Add additional data sources
You can add additional data sources from Advanced Settings → Hawksearch -> DataSources submenu (your-site-domain/Sitefinity/Administration/Settings/Advanced). You should provide the Data Source with Name, Api Key, Url, Severity and Timeout interval.
Name - provide unique name for the data source
Api Key - provide a unique Api Key
Url - the Hawksearch connector will use this Url to send a POST request to the data source
Severity - the values for severity are “Low” and “Critical”.
Low severity - if indexing failed Sitefinity will continue the indexing procedure as normal.
Critical severity
Deferred Index Activation is turned on - upon failure this will stop the indexing procedure and delete the new index.
Deferred index activation is turned off - upon failure no index will be created.
Timeout interval - you can set a timeout interval for each data source. If exceeded by a Low severity data source the indexing process will continue and log an error. If exceeded by a Critical severity data source and Deferred Index Activation is on the indexing will stop, the new index will be deleted, the old one will have its status set to Indexed. If exceeded by a Critical priority data source and Deferred Index Activation is turned off no index will be created. Further information about timeouts can be found in the error logs.
Setup data source service
The Data Source must expose a POST endpoint, which will receive and object with Id and IndexName from the request body.
METHOD: POST { "ApiKey": "558ad504-9b2d-4b67-be4f-7ab9ed3028fb", "IndexName": "hawksearchindexname.20201020.112252.suffix" }
When the indexing process is completed, the service must send a PATCH request to your-site-domain/hawk/index/status containing the service Id and the index name received from the first request, and Status which notifies if the indexing is successful or failed.
You can set the status to either “success” or “fail” depending on the indexing result.
METHOD: PATCH { "Id": "558ad504-9b2d-4b67-be4f-7ab9ed3028fb", "IndexName": "hawksearchindexname.20201020.112252.suffix", "Status": "success" }
When all data sources complete their indexing procedure or when the timeout limit is exceeded, Sitefinity will continue with its indexing procedure, unless data source with Critical severity failed to index correctly or timed out.