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


Ú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.