Yeniden dizin oluşturma işi çalıştırma
Azure Health Veri Hizmetleri'nde FHIR hizmetinde henüz dizine eklenmemiş arama parametrelerine sahip olabileceğiniz senaryolar vardır. Bu senaryo, kendi özel arama parametrelerinizi tanımladığınızda geçerlidir. Arama parametresi dizine alınana kadar canlı üretimde kullanılamaz. Bu makalede, FHIR hizmet veritabanınızda henüz dizine alınmamış özel arama parametrelerini dizine almak için yeniden dizin oluşturma işinin nasıl çalıştırıldığı anlatılır.
Uyarı
Başlamadan önce bu makalenin tamamını okumanız önemlidir. Yeniden dizin oluşturma işi çok yoğun performans gerektiren bir iş olabilir. Bu makalede, yeniden dizin işini kısıtlama ve denetleme seçenekleri açıklanır.
Yeniden dizin oluşturma işini çalıştırma
Reindex işi tüm FHIR hizmet veritabanında ve belirli özel arama parametresinde yürütülebilir.
FHIR hizmet veritabanının tamamında reindex işini çalıştırma
Reindex işini çalıştırmak için, istek gövdesinde JSON biçimlendirilmiş Parameters
kaynakla aşağıdaki POST
çağrıyı kullanın:
POST {{FHIR_URL}}/$reindex
content-type: application/fhir+json
{
"resourceType": "Parameters",
"parameter": []
}
"parameter": []
Yeniden dizin işine ayrılan kaynakları değiştirmeniz gerekmiyorsa alanı boş bırakın (gösterildiği gibi).
İstek başarılı olursa yanıttaki bir kaynağa ek olarak Parameters
201 Oluşturuldu durum kodunu da alırsınız.
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
}
]
}
Reindex işini belirli bir özel arama parametresine karşı çalıştırma
Reindex işini belirli özel arama parametresine karşı çalıştırmak için, istek gövdesinde JSON biçimlendirilmiş Parameters
kaynakla aşağıdaki POST
çağrıyı kullanın:
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.}"
}
]
}
Not
Yeniden dizin oluşturma işinin durumunu denetlemek veya işi iptal etmek için reindex kimliği gerekir. Bu, yanıtta döndürülen değerde "parameter"
taşınan değerdir"id"
. Yukarıdaki örnekte, reindex işinin kimliği olacaktır 560c7c61-2c70-4c54-b86d-c53a9d29495e
.
Yeniden dizin işinin durumunu denetleme
Yeniden dizin oluşturma işini başlattıktan sonra, aşağıdaki çağrıyı kullanarak işin durumunu de kontrol edebilirsiniz:
GET {{FHIR_URL}}/_operations/reindex/{{reindexJobId}}
Örnek yanıt:
{
"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
}
]
}
Yukarıdaki yanıtta aşağıdaki bilgiler gösterilmiştir:
totalResourcesToReindex
: Bu işte yeniden dizine alınan kaynakların toplam sayısını içerir.resourcesSuccessfullyReindexed
: Bu işte zaten yeniden dizine alınmış olan kaynakların toplam sayısı.progress
: tamamlanan iş yüzde değerini yeniden dizine alma.resourcesSuccessfullyReindexed
/totalResourcesToReindex
Eşittir x 100.status
: Yeniden dizinleme işinin kuyruğa alınmış, çalışıyor, tamamlandı, başarısız veya iptal edilmiş olduğunu belirtir.resources
: Yeniden dizin oluşturma işinden etkilenen tüm kaynak türlerini listeler.'resourceReindexProgressByResource (CountReindexed of Count)': Kaynak türü başına toplam sayının yeniden dizinlenmiş sayısını sağlar. Belirli bir kaynak türü için yeniden dizinlemenin kuyruğa alındığı durumlarda yalnızca Count sağlanır.
'searchParams': Yeniden dizin oluşturma işinden etkilenen arama parametrelerinin URL'sini listeler.
Yeniden dizin oluşturma işini silme
Yeniden dizin oluşturma işini iptal etmeniz gerekiyorsa, bir DELETE
çağrı kullanın ve yeniden dizin oluşturma işi kimliğini belirtin:
DELETE {{FHIR URL}}/_operations/reindex/{{reindexJobId}}
Performansla ilgili önemli noktalar
Yeniden dizin oluşturma işi performans açısından yoğun olabilir. FHIR hizmeti, veritabanınızda yeniden dizinleme işinin nasıl çalıştığını yönetmenize yardımcı olmak için bazı azaltma denetimleri sunar.
Not
Reindex işinin günler boyunca çalışması büyük veri kümelerinde sık rastlanır bir durum değildir.
Aşağıda, yeniden dizinleme işi işlem kaynaklarını denetlemek için kullanılabilen parametrelerin, varsayılanların ve önerilen aralıkların ana hatlarını içeren bir tablo yer almaktadır. İşlemi hızlandırmak (daha fazla işlem kullanmak) veya işlemi yavaşlatmak (daha az işlem kullanmak) için bu parametreleri kullanabilirsiniz.
Parametre | Açıklama | Varsayılan | Kullanılabilir Aralık |
---|---|---|---|
QueryDelayIntervalInMilliseconds |
Yeniden dizin oluşturma işi sırasında her bir kaynak toplu işleminin başlama gecikmesi. Daha küçük bir sayı işi hızlandırırken, daha büyük bir sayı bunu yavaşlatır. | 500 MS (.5 saniye) | 50 - 500000 |
MaximumResourcesPerQuery |
Yeniden dizine alınacak kaynak grubuna dahil edilen en fazla kaynak sayısı. | 100 | 1-5000 |
MaximumConcurrency |
Bir kerede yapılan toplu iş sayısı. | 1 | 1-10 |
Yukarıdaki parametrelerden herhangi birini kullanmak istiyorsanız, yeniden dizin işini başlatmak için ilk POST
isteği gönderdiğinizde bunları Parameters
kaynağa geçirebilirsiniz.
POST {{FHIR_URL}}/$reindex
content-type: application/fhir+json
{
"resourceType": "Parameters",
"parameter": [
{
"name": "maximumConcurrency",
"valueInteger": "3"
},
{
"name": "queryDelayIntervalInMilliseconds",
"valueInteger": "1000"
},
{
"name": "maximumNumberOfResourcesPerQuery",
"valueInteger": "1"
}
]
}
Sonraki adımlar
Bu makalede, FHIR hizmetinizde reindex işi gerçekleştirmeyi öğrendiniz. Özel arama parametrelerini tanımlamayı öğrenmek için bkz.
FHIR®, HL7'nin tescilli ticari markasıdır ve HL7 izniyle kullanılır.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin