默认情况下,当您搜索医疗保健数据时,系统会以 按时间逆序排列。 在搜索包含非结构化文本的以下 FHIR 资源类型时,您可以按搜索结果与查询的相关性对其进行排序:
- 构图
- DiagnosticReport
- DocumentReference
示例场景
假设您要搜索给定患者的关键字 insulin
,并已将结果过滤为包含非结构化文本的资源。除其他结果外,您还会收到以下文档:
- 结果 1:日期为 2024 年 4 月 24 日的 DocumentReference 资源,其中包含有关患者“HbA1c”水平的备注。
- 结果 2:日期为 2024 年 1 月 11 日的 DiagnosticReport 资源,其中包含有关患者必须遵循的“胰岛素治疗方案”的备注。
默认情况下,结果 1 会显示在搜索结果中的更高位置,因为它是更新的文档,但如果您按相关性对结果进行排序,结果 2 会显示在搜索结果中的更高位置。这是因为它与搜索查询“insulin
”的相关度更高。
对医疗保健搜索结果进行排序
要按相关性对搜索结果进行排序,请完成以下步骤 步骤:
控制台
在 Google Cloud 控制台中,前往 Agent Builder 页面。
选择要查询的医疗保健搜索应用。
在导航菜单中,点击预览。
在患者 ID 字段中,输入您要查询数据的患者的 ID。患者 ID 区分大小写。
按 Enter 键或点击预览以提交患者 ID。
在在此处搜索搜索栏中,输入您的查询。
如果您启用了自动补全功能,系统会在下方显示一系列自动补全建议 搜索栏。
按 Enter 键提交查询。
- 搜索结果会显示在分类的分页表格中 FHIR 资源类型。
- 默认情况下,所有 FHIR 资源类型的搜索结果均以 按时间逆序排列。
对于组合、DocumentReference 和 DiagnosticReport 请点击排序:按时间顺序逆向排序过滤条件,然后选择 相关性列表。然后将这些资源的结果 。
REST
要按相关性对搜索结果进行排序,请修改您的
search
请求:
- 将
filter
字段添加到请求中,以将搜索结果限制为仅包含以下包含非结构化文本的 FHIR 资源:Composition、DiagnosticReport 和 DocumentReference。 - 将
orderBy
字段添加到您的搜索请求,并将其值设置为_RELEVANCE
,用于获取根据其内容进行排序的搜索响应 相关性。
发送搜索请求。
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://us-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/us/collections/default_collection/engines/APP_ID/servingConfigs/default_search:search" \ -d '{ "query": "KEYWORD_QUERY", "filter": "patient_id: ANY(\"PATIENT_ID\") AND resource_type: ANY(\"Composition\", \"DiagnosticReport\", \"DocumentReference\")", "orderBy": "_RELEVANCE" }'
替换以下内容:
PROJECT_ID
:您的 Google Cloud 项目的 ID。APP_ID
:您要查询的 Vertex AI Search 应用的 ID。KEYWORD_QUERY
:您要搜索过滤后的患者的患者临床数据中的关键字,例如“糖尿病”或“血糖”。PATIENT_ID
:您要搜索其数据的患者的资源 ID。
您应该会收到一个 JSON 响应,其中包含按相关性排序的明细搜索结果。