Megosztás a következőn keresztül:


Újraindexelt feladat futtatása

Előfordulhat, hogy az Azure Health Data Services FHIR szolgáltatásában keresési paraméterek találhatók, amelyek még nem lettek indexelve. Ez a forgatókönyv akkor releváns, ha saját egyéni keresési paramétereket határoz meg. Amíg a keresési paraméter nincs indexelve, nem használható élő éles környezetben. Ez a cikk azt ismerteti, hogyan futtathat újraindexelési feladatot az FHIR-szolgáltatásadatbázisban még nem indexelt egyéni keresési paraméterek indexeléséhez.

Figyelmeztetés

Az első lépések előtt fontos, hogy elolvassa ezt a teljes cikket. Az újraindexelés nagyon nagy teljesítményigényű lehet. Ez a cikk az újraindexelt feladatok szabályozásának és szabályozásának lehetőségeit ismerteti.

Újraindexeléses feladat futtatása

Az újraindexelési feladat teljes FHIR-szolgáltatásadatbázison és adott egyéni keresési paraméteren is végrehajtható.

Újraindexelési feladat futtatása a teljes FHIR-szolgáltatásadatbázison

Az újraindexelési feladat futtatásához használja a következő POST hívást a kérelem törzsében található 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 újraindexelt 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 adott egyéni keresési paraméteren

Az újraindexelési feladat adott egyéni keresési paraméterrel való futtatásához használja a következő POST hívást a kérelem törzsében található JSON formátumú Parameters erőforrással:

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.}"
    }
] 

}

Megjegyzés

Az újraindexelt feladat állapotának ellenőrzéséhez vagy a feladat megszakításához szüksége lesz az újraindexelés azonosítójára. Ez a "id" válaszban visszaadott értékben "parameter" hordozott érték. A fenti példában az újraindexelt feladat azonosítója a következő lenne 560c7c61-2c70-4c54-b86d-c53a9d29495e: .

Az újraindexelt feladat állapotának ellenőrzése

Miután elindított egy újraindexeléses feladatot, az alábbi hívással ellenőrizheti a feladat állapotát:

GET {{FHIR_URL}}/_operations/reindex/{{reindexJobId}}

Példa válasz:

{
    "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
        }
    ]
}

A fenti válasz a következő információkat jeleníti meg:

  • totalResourcesToReindex: Az ebben a feladatban újraindexelt erőforrások teljes számát tartalmazza.

  • resourcesSuccessfullyReindexed: A feladatban már újraindexelt erőforrások teljes száma.

  • progress: Feladat újraindexelése befejezettként. 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, meghiúsult-e vagy megszakadt-e.

  • resources: Felsorolja az újraindexelt 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': Az újraindexelési feladat által érintett keresési paraméterek URL-címét jeleníti meg.

Újraindexeléses feladat törlése

Ha le kell mondania egy újraindexeléses feladatot, használjon egy DELETE hívást, és adja meg az újraindexelés feladatazonosítóját:

DELETE {{FHIR URL}}/_operations/reindex/{{reindexJobId}}

A teljesítménnyel kapcsolatos megfontolások

Az újraindexelt feladatok teljesítményigényes lehet. Az FHIR szolgáltatás szabályozási vezérlőket kínál, amelyek segítenek az újraindexeléses feladatok adatbázison való futtatásának kezelésében.

Megjegyzés

A nagy adathalmazok esetében nem ritka, hogy egy újraindexelt feladat napokig fusson.

Az alábbiakban egy táblázat ismerteti az újraindexelt feladatok számítási erőforrásainak szabályozásához rendelkezésre álló paramétereket, alapértelmezett értékeket és ajánlott tartományokat. 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áskötegek közötti késés. A kisebb szám felgyorsítja a feladatot, míg egy nagyobb szám lelassítja azt. 500 MS (.5 másodperc) 50–500000
MaximumResourcesPerQuery Az újraindexelendő erőforráskötegben található erőforrások maximális száma. 100 1-5000
MaximumConcurrency Az adott időpontban elvégzett kötegek száma. 1 1-10

Ha a fenti paraméterek bármelyikét szeretné használni, azokat átadhatja az Parameters erőforrásnak, amikor az újraindexelés indítására irányuló kezdeti POST kérést küldi el.


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áról további információt az

Az FHIR® a HL7 bejegyzett védjegye, és a HL7 engedélyével használják.