Overview

Indexer service runs as a separate service, This service is designed to perform all the indexing tasks of the digit platform. The service reads records posted on specific kafka topics and picks the corresponding index configuration from the yaml file provided by the respective module.Objective of Indexer service are listed as below.

Pre-requisites

Before you proceed with the configuration, make sure the following pre-requisites are met -

  1. Prior Knowledge of Java/J2EE.

  2. Prior Knowledge of SpringBoot.

  3. Prior Knowledge of Elasticsearch.

  4. Prior Knowledge of REST APIs and related concepts like path parameters, headers, JSON etc.

  5. Prior Knowledge of Kafka and related concepts like Producer, Consumer, Topic etc.

Key Functionalities

Deployment Details

Interaction Diagram:

Configuration Details

For Indexer Configuration, please refer to the document in Reference Docs table given below.

API Details

a) POST /{key}/_index

Receive data and index. There should be a mapping with topic as {key} in index config files.

b) POST /_reindex

This is used to migrate data from one index to another index

c) POST /_legacyindex

This is to run LegacyIndex job to index data from DB. In the request body the URL of the service which would be called by indexer service to pick data, must be mentioned.

Note: In legacy indexing and for collection-service record LiveIndex kafka-connect is used to do part of pushing record to elastic search. For more details please refer to document mentioned in document list.

Reference Docs

Doc Links

Title 

Link

Using kafka-connect in egov-indexer reindexing jobs to push records to elastic search

https://digit-discuss.atlassian.net/l/c/Ktd5keeS

Indexer Configuration

Indexer Configuration

API Swagger Documentation

Swagger Documentation