Újraindexelési feladat futtatása
Vannak olyan esetek, amikor keresési paraméterekkel rendelkezhet az Azure Health Data Services FHIR® szolgáltatásában, amelyeket még nem kell indexelni. Ez a forgatókönyv akkor releváns, ha saját egyéni keresési paramétereket határoz meg. Amíg nem indexel egy keresési paramétert, az élő éles környezetben nem használható. Ez a cikk bemutatja, hogyan futtathat újraindexelési feladatot az egyéni keresési paraméterek indexeléséhez az FHIR szolgáltatásadatbázisban.
Figyelmeztetés
Fontos, hogy az első lépések előtt olvassa el ezt a teljes cikket. Az újraindexelési feladatok nagyon teljesítményigényesek lehetnek. Ez a cikk az újraindexelési feladatok szabályozásának és szabályozásának lehetőségeit ismerteti.
Újraindexeléses feladat futtatása
Az újraindexelési feladat egy teljes FHIR szolgáltatásadatbázison és adott egyéni keresési paramétereken futtatható.
Újraindexelési feladat futtatása teljes FHIR szolgáltatásadatbázison
Újraindexeléses feladat futtatásához használja az alábbi POST
hívást a kérelem törzsében lévő JSON formátumú Parameters
erőforrással.
POST {{FHIR_URL}}/$reindex
content-type: application/fhir+json
{
"resourceType": "Parameters",
"parameter": []
}
Hagyja üresen a "parameter": []
mezőt (az ábrán látható módon), ha nem kell módosítania az újraindexelési feladathoz lefoglalt erőforrásokat.
Ha a kérés sikeres, a válaszban egy erőforrás mellett Parameters
egy 201 létrehozott állapotkódot is kap.
HTTP/1.1 201 Created
Content-Location: https://{{FHIR URL}}/_operations/reindex/560c7c61-2c70-4c54-b86d-c53a9d29495e
{
"resourceType": "Parameters",
"id": "560c7c61-2c70-4c54-b86d-c53a9d29495e",
"meta": {
"versionId": "138035"
},
"parameter": [
{
"name": "id",
"valueString": "560c7c61-2c70-4c54-b86d-c53a9d29495e"
},
{
"name": "lastModified",
"valueDateTime": "2023-06-08T04:52:44.0974408+00:00"
},
{
"name": "queuedTime",
"valueDateTime": "2023-06-08T04:52:44.0974406+00:00"
},
{
"name": "totalResourcesToReindex",
"valueDecimal": 0.0
},
{
"name": "resourcesSuccessfullyReindexed",
"valueDecimal": 0.0
},
{
"name": "progress",
"valueDecimal": 0.0
},
{
"name": "status",
"valueString": "Queued"
},
{
"name": "maximumConcurrency",
"valueDecimal": 3.0
},
{
"name": "queryDelayIntervalInMilliseconds",
"valueDecimal": 500.0
},
{
"name": "maximumNumberOfResourcesPerQuery",
"valueDecimal": 100.0
}
]
}
Újraindexelési feladat futtatása egy adott egyéni keresési paraméteren
Ha egy reindexelési feladatot egy adott egyéni keresési paraméteren szeretne futtatni, használja a következő POST
hívást a JSON formátumú Parameters
erőforrással a kérelem törzsében.
POST {{FHIR_URL}}/$reindex
content-type: application/fhir+json
{
"resourceType": "Parameters",
"parameter": [
{
"name": "targetSearchParameterTypes",
"valueString": "{url of custom search parameter. In case of multiple custom search parameters, url list can be comma separated.}"
}
]
}
Feljegyzés
Az újraindexelési feladat állapotának ellenőrzéséhez vagy megszakításához szükség van az újraindexelés azonosítójára. Ez a "id"
"parameter"
válasz értéke. Az előző példában az újraindexelési feladat azonosítója a következő lenne 560c7c61-2c70-4c54-b86d-c53a9d29495e
: .
Újraindexeléses feladat állapotának ellenőrzése
Az újraindexelési feladat elindítása után az alábbi hívással ellenőrizheti a feladat állapotát.
GET {{FHIR_URL}}/_operations/reindex/{{reindexJobId}}
Íme egy példa egy válaszra.
{
"resourceType": "Parameters",
"id": "560c7c61-2c70-4c54-b86d-c53a9d29495e",
"meta": {
"versionId": "138087"
},
"parameter": [
{
"name": "id",
"valueString": "560c7c61-2c70-4c54-b86d-c53a9d29495e"
},
{
"name": "startTime",
"valueDateTime": "2023-06-08T04:54:53.2943069+00:00"
},
{
"name": "endTime",
"valueDateTime": "2023-06-08T04:54:54.4052272+00:00"
},
{
"name": "lastModified",
"valueDateTime": "2023-06-08T04:54:54.4053002+00:00"
},
{
"name": "queuedTime",
"valueDateTime": "2023-06-08T04:52:44.0974406+00:00"
},
{
"name": "totalResourcesToReindex",
"valueDecimal": 2.0
},
{
"name": "resourcesSuccessfullyReindexed",
"valueDecimal": 2.0
},
{
"name": "progress",
"valueDecimal": 100.0
},
{
"name": "status",
"valueString": "Completed"
},
{
"name": "maximumConcurrency",
"valueDecimal": 3.0
},
{
"name": "resources",
"valueString": "{{LIST_OF_IMPACTED_RESOURCES}}"
},
{
"name": "resourceReindexProgressByResource (CountReindexed of Count)",
"valueString": "{{RESOURCE_TYPE:REINDEXED_COUNT OF TOTAL_COUNT}}"
},
{
"name": "searchParams",
"valueString": "{{LIST_OF_SEARCHPARAM_URLS}}"
},
{
"name": "queryDelayIntervalInMilliseconds",
"valueDecimal": 500.0
},
{
"name": "maximumNumberOfResourcesPerQuery",
"valueDecimal": 100.0
}
]
}
Az előző válaszban a következő információk jelennek meg:
totalResourcesToReindex
: A feladatban újraindexelt erőforrások teljes számát tartalmazza.resourcesSuccessfullyReindexed
: A feladatban már újraindexelt erőforrások teljes száma.progress
: A feladat százalékos újraindexelése befejeződött.resourcesSuccessfullyReindexed
/totalResourcesToReindex
Egyenlő x 100.status
: Azt jelzi, hogy az újraindexelt feladat várólistára van-e helyezve, fut-e, fejeződött-e be, sikertelen-e vagy megszakítva.resources
: Felsorolja az újraindexelési feladat által érintett összes erőforrástípust."resourceReindexProgressByResource (CountReindexed of Count)": A teljes szám újraindexelt számát adja meg erőforrástípusonként. Azokban az esetekben, amikor egy adott erőforrástípus újraindexelése várólistára kerül, csak a Darabszám van megadva.
'searchParams': Felsorolja az újraindexelési feladat által érintett keresési paraméterek URL-címét.
Újraindexelési feladat törlése
Ha le kell mondania egy újraindexelési feladatot, használjon egy DELETE
hívást, és adja meg az újraindexelt feladat azonosítóját.
DELETE {{FHIR URL}}/_operations/reindex/{{reindexJobId}}
A teljesítménnyel kapcsolatos megfontolások
Az újraindexelési feladatok elég teljesítményigényesek lehetnek. Az FHIR szolgáltatás szabályozási vezérlőket kínál az újraindexelési feladatok adatbázison való futtatásának kezeléséhez.
Feljegyzés
Nem ritka, hogy a nagy adathalmazokban napokig fut egy újraindexeléses feladat.
Az alábbiakban egy táblázat ismerteti a rendelkezésre álló paramétereket, alapértelmezett értékeket és ajánlott tartományokat az újraindexelési feladatok számítási erőforrásainak szabályozásához. Ezekkel a paraméterekkel felgyorsíthatja a folyamatot (több számítást használhat), vagy lelassíthatja a folyamatot (kevesebb számítást használhat).
Paraméter | Leírás | Alapértelmezett | Elérhető tartomány |
---|---|---|---|
QueryDelayIntervalInMilliseconds |
Az újraindexelési feladat során az egyes erőforrás-kötegek közötti késés. A kisebb szám felgyorsítja a feladatot, míg a nagyobb szám lelassítja azt. | 500 MS (.5 másodperc) | 50–500000 |
MaximumResourcesPerQuery |
Az újraindexelendő kötegben található erőforrások maximális száma. | 100 | 1-5000 |
MaximumConcurrency |
Az adott időpontban elvégzett kötegek száma. | 0 | 1-10 |
Ha az előző paraméterek bármelyikét szeretné használni, azokat az erőforrásba Parameters
továbbíthatja, amikor az első POST
kérést elküldi egy újraindexelési feladat elindításához.
POST {{FHIR_URL}}/$reindex
content-type: application/fhir+json
{
"resourceType": "Parameters",
"parameter": [
{
"name": "maximumConcurrency",
"valueInteger": "3"
},
{
"name": "queryDelayIntervalInMilliseconds",
"valueInteger": "1000"
},
{
"name": "maximumNumberOfResourcesPerQuery",
"valueInteger": "1"
}
]
}
Következő lépések
Ebben a cikkben megtanulta, hogyan végezhet újraindexeléses feladatot az FHIR szolgáltatásban. Az egyéni keresési paraméterek definiálásához lásd:
Feljegyzés
Az FHIR® a HL7 bejegyzett védjegye, amelyet a HL7 engedélyével használnak.