文档首页> 工业数字模型驱动引擎> 最佳实践> 使用搜索服务定义搜索数据
更新时间:2024-06-25 GMT+08:00
分享

使用搜索服务定义搜索数据

搜索服务定义是一个可自定义的将部分模型项或者关系实体的实例数据进行全文检索的搜索服务,属于服务编排的一种类型。相较于全量数据的全文检索,搜索服务定义是一种对某种场景下内关联模型实例数据的一种“小场景”搜索。当用户的某些业务场景数据量巨大,且对搜索的性能和匹配灵活性要求较高时,需要用户自定义搜索服务的配置和搜索的数据范围。搜索服务定义可以更好的明确用户搜索的场景和意图,也为特定场景下大批量的数据搜索和过滤提高搜索效率,避免在大批量数据中召回干扰信息。

以如下示例场景为例,通过横向搜索纵向搜索两个维度指导您如何使用搜索服务定义。

示例场景

假设有如下两个数据实体:

  • Schools:表示学校,用于存储学校信息(如学校名称、教育程度、学科分类等)。
    图1 Schools数据实体
  • Students:表示学生,用于存储学生信息(如姓名、性别、年龄、班级、学校等)。其中,学校为“参考对象”类型,参考Schools数据实体。
    图2 Students数据实体

并通过这两个数据实体分别创建了如表1所示的数据实例。

表1 数据实例

数据实体

数据实例

实例信息

Schools

清华大学

学校名称:清华大学

北京大学

学校名称:北京大学

深圳大学

学校名称:深圳大学

Students

王小华

  • 性别:女
  • 年龄:19
  • 学校:深圳大学

吴清

  • 性别:女
  • 年龄:20
  • 学校:北京大学

李四

  • 性别:男
  • 年龄:21
  • 学校:清华大学

张三

  • 性别:男
  • 年龄:20
  • 学校:深圳大学

横向搜索

横向搜索,即在同行业中进行搜索。以查询北京大学的女学生为例,通过搜索服务定义实现该查询,具体操作步骤如下:

  1. 登录应用运行态
  2. 在左侧导航栏中,选择搜索服务管理 > 搜索服务定义,单击“创建”
  3. 在展开的“服务定义”页面,设置如下主要信息,单击“保存”

    表2 参数信息

    参数

    说明

    API英文名称

    输入“Schoolgirl”

    API中文名称

    输入“女学生”

    API英文描述

    输入“School girl”

    API中文描述

    输入“女学生”

  4. 选择“索引定义”页签,添加“学生姓名”“性别”“学校”三个索引。其主要信息如表3所示。

    表3 参数信息

    索引名称

    学生姓名

    性别

    学校

    索引类型

    选择“文本”

    选择“文本”

    选择“文本”

    分词方法

    选择“普通分词”

    选择“不分词”

    选择“不分词”

    分词选项

    选择“不涉及”

    选择“不涉及”

    选择“不涉及”

    作为过滤条件

    选择“N”

    选择“Y”

    选择“Y”

    参与关键词搜索

    选择“Y”

    选择“Y”

    选择“Y”

    展示

    选择“Y”

    选择“Y”

    选择“Y”

    匹配方法

    选择“精确匹配”

    选择“精确匹配”

    选择“精确匹配”

  5. 选择“服务配置”页签,选择搜索实体(Students),单击“添加”

    图3 服务配置

  6. 在数据图谱的下方,分别设置如图4所示的实体属性,单击“保存”

    图4 选择属性名称

  7. 单击“发布”
  8. 选择“脚本显示”页签,在验证环境 > 输入参数“性别”输入“女”“学校”输入“北京大学”,单击“运行”

    可在右侧的“输出结果”发现搜索服务定义将北京大学的女学生均搜索出来。

    图5 脚本显示

  9. 选择“数据同步”页签,单击“同步数据”
  10. 在弹出的提示框中,单击“确认”

纵向搜索

纵向搜索,即在不同行业,相同职位中搜索。以查找名字中带有“华”字的信息为例,通过搜索服务定义实现该查询,具体操作步骤如下:

  1. 登录运行态
  2. 在左侧导航栏中,选择搜索服务管理 > 搜索服务定义,单击“创建”
  3. 在展开的“服务定义”页面,设置如下主要信息,单击“保存”

    表4 参数信息

    参数

    说明

    API英文名称

    输入“Name”

    API中文名称

    输入“名字”

    API英文描述

    输入“Name”

    API中文描述

    输入“名字”

  4. 选择“索引定义”页签,单击“添加索引”,添加一个“名字”索引。其主要信息如表5所示。

    表5 参数信息

    索引名称

    输入“名字”

    索引类型

    选择“文本”

    分词方法

    选择“单字分词”

    分词选项

    选择“全拼”

    作为过滤条件

    选择“Y”

    参与关键词搜索

    选择“Y”

    展示

    选择“Y”

    匹配方法

    选择“模糊匹配”

  5. 选择“服务配置”页签,添加两个搜索实体(Schools和Students)。

    图6 服务配置

  6. 分别在Schools搜索实体和Students搜索实体的数据图谱下方,将“属性名称”选择为“Name”

    图7 选择属性名称

  7. 单击“发布”
  8. 选择“脚本显示”页签,在验证环境 > 输入参数“名字”输入“华”,单击“运行”

    可在右侧的“输出结果”发现搜索服务将“Name”中带有“华”字的数据均搜索出来。

    图8 脚本显示

  9. 选择“数据同步”页签,单击“同步数据”
  10. 在弹出的提示框中,单击“确认”
分享:

    相关文档

    相关产品