Promotion Steps:
Promote egovio/property-services:141-PT_SERVICES_FEATURE-2bb36a8a
Add https://github.com/egovernments/configs/blob/master/egov-indexer/property-services.yml to indexer
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:
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"
}'
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"
}'