Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Promotion Steps:


For Property tax module following two new indexes are created. Please refer index configuration in https://github.com/egovernments/configs/blob/master/egov-indexer/property-services.yml  

  • Index for properties (index name “property-services”)

  • Index for property assessments (index name “property-assessments”)

  • Index for properties (“property-services”)

    • It will Index property records

    • The records will be picked from following kafka topics

      • save-property-registry :- The records on this topic are for newly created properties

      • update-property-registry :- The records on this topic are for any update on existing property

      • cancel-property-registry :- Records for cancelled properties

      • property-registry-legacyIndex :- This topic is used for reindexing of old records

    • Every time  any new property is created or existing property is updated new record is pushed on elastic search index. Please note we are never updating any record on index, each request for indexing will be pushed as new record

    • As key for indexed records we are using combination of propertyId,tenantId and last modified time of the property

    • Property last modified time is used as timestamp


  • Index for properties assessments (“property-assessments”)

    • It will Index property assessment records

    • The records will be picked from following kafka topics

      • save-pt-assessment :- The records on this topic are for newly created property assessments

      • update-pt-assessment :- The records on this topic are for any update on existing assessments

      • cancel-property-assessment :- Records for cancelled assessments

      • pt-assessment-legacyIndex :- This topic used for reindexing of old records

    • As key for indexed records we are using combination of assessment number and tenantId

    • On update or cancel assessment existing record on index is modified

    • Assessment created time is used as timestamp

Updates from existing indexing structures:

  • All the PIIs are removed from Index

  • On property index on each property update, new record on index will be created. For assessment index on update existing record on index will be updated

  • In earlier case property details were kept inside “propertydetail” in property object, but now this field is removed and information kept inside it is part of property object itself

  • Earlier if the user updates property information the same information was saved in “propertydetail” array along with old property information entries, but now there will be two separate records on index one for old property and other for updated property

  • Earlier same property object used to contain property history now for each property update new record is created

  • Earlier property object itself used to contain assessment information, but now assessment information is separated and kept on separate assessment index

  • Records on both property and assessment index contains workflow information

  • Few fields are modified and added in the property object, for more information please refer “Property” object in property service API contract https://github.com/egovernments/municipal-services/blob/master/docs/property-services/property-services.yml

Since the record getting indexed on property index  contains same structure (although few fields removed) the information about any field can be obtained from there.

  • The structure of ward and tenantData is as before

Impact on Dashboard:

  • For taking any count on property index duplicate properties should be removed because  if the property was updated same property can have have more than one record

  • For counting assessments please use assessment index, the records includes assessment number and financial year fields which are being used in current Dashboard

  • Get “usageCategoryMajor” from property object instead of propertydetail, when searching this field for a property, search all records with given propertyid

  • For all fields which were present in “propertydetail” except assessment information get them from property object

  • Assessment index records contain propertyId field which can be used to get count of total assessment for a property from assessment index


Reindexing commands:

  1. Property Index

curl -X POST \

  http://egov-indexer:8080/egov-indexer/index-operations/_legacyindex \

H 'Cache-Control: no-cache' \

H 'Content-Type: application/json' \

H 'Postman-Token: d380bebb-383f-1b7c-76d1-10c1dc07dd06' \

d '{

  "RequestInfo": {

    "apiId": "string",

    "ver": "string",

    "ts": null,

    "action": "string",

    "did": "string",

    "key": "string",

    "msgId": "string",

    "authToken": "b843ef27-1ac6-49b8-ab71-cd0c22f4e50e",

    "correlationId": "e721639b-c095-40b3-86e2-acecb2cb6efb",

    "userInfo": {

      "id": 23299,

      "uuid":"e721639b-c095-40b3-86e2-acecb2cb6efb",

      "userName": "9337682030",

      "name": "Abhilash Seth",

      "type": "EMPLOYEE",

      "mobileNumber": "9337682030",

      "emailId": "abhilash.seth@gmail.com",

      "roles": [

        {

          "id": 281,

          "name": "Employee"

        }

      ] 

    }

  },

  "apiDetails":{

      "uri":"http://property-services:8080/property-services/property/_plainauditsearch", 

      "tenantIdForOpenSearch":"pb",

      "paginationDetails":{

        "offsetKey":"offset",

        "sizeKey":"limit",

        "maxPageSize":50,

        "startingOffset": 0

      },

      "responseJsonPath":"$.Properties"

  },

  "legacyIndexTopic":"property-registry-legacyIndex",

  "tenantId":"pb.amritsar"

}'


  1. Assessment Index

curl -X POST \

  http://egov-indexer:8080/egov-indexer/index-operations/_legacyindex \

H 'Cache-Control: no-cache' \

H 'Content-Type: application/json' \

H 'Postman-Token: d380bebb-383f-1b7c-76d1-10c1dc07dd06' \

d '{

  "RequestInfo": {

    "apiId": "string",

    "ver": "string",

    "ts": null,

    "action": "string",

    "did": "string",

    "key": "string",

    "msgId": "string",

    "authToken": "b843ef27-1ac6-49b8-ab71-cd0c22f4e50e",

    "correlationId": "e721639b-c095-40b3-86e2-acecb2cb6efb",

    "userInfo": {

      "id": 23299,

      "uuid":"e721639b-c095-40b3-86e2-acecb2cb6efb",

      "userName": "9337682030",

      "name": "Abhilash Seth",

      "type": "EMPLOYEE",

      "mobileNumber": "9337682030",

      "emailId": "abhilash.seth@gmail.com",

      "roles": [

        {

          "id": 281,

          "name": "Employee"

        }

      ]

    }

  },

  "apiDetails":{

     "uri":"http://property-services:8080/property-services/assessment/_plainsearch",

     "tenantIdForOpenSearch":"pb",

     "paginationDetails":{

     "offsetKey":"offset",

     "sizeKey":"limit",

     "maxPageSize":50,

         "startingOffset": 0

     },

     "responseJsonPath":"$.Assessments"

  },

  "legacyIndexTopic":"pt-assessment-legacyIndex",

  "tenantId":"pb.amritsar"

}'


  • No labels