更新时间:2024-06-28 GMT+08:00
分享

创建搜索服务

操作场景

本文指导您在应用运行态创建搜索服务。

前提条件

登录应用运行态

步骤1:定义搜索服务

  1. 在左侧导航栏中,单击搜索服务管理 > 搜索服务定义,进入搜索服务管理页面。
  2. 单击“创建”
  3. 在展开的“服务定义”页面,设置如下信息,单击“保存”

    图1 服务定义
    表1 创建搜索服务参数

    参数

    参数说明

    API英文名称

    搜索服务API的英文名称。

    API中文名称

    搜索服务API的中文名称。

    API英文描述

    搜索服务API的英文描述。

    API中文描述

    搜索服务API的中文描述。

    API责任人

    搜索服务API的责任人。

    标签

    • 如果您没有可使用的标签,可选择“自定义”
    • 如果您已有可使用的标签,可选择“添加标签”

    更多关于标签的操作请参见标签

步骤2:添加索引

索引定义是使用搜索服务定义的必要条件,只有添加索引才能对模型数据进行检索,而且不同的索引规则也会产生不同的模型数据检索效果。应用运行态支持文本、日期、浮点型、长整型和联合索引四种类型索引。

  1. 选择“索引定义”页签,单击“添加索引”

    图2 添加索引

  2. 根据业务需求,设置如下索引规则,单击“保存”

    图3 填写索引信息
    • 文本索引

      配置项

      说明

      索引名称

      索引的名称。

      索引描述

      索引的描述。

      索引类型

      选择“文本”

      分词方法

      为索引设置分词方法后,xDM-F会将可分词的内容根据设定的分词方法分成多个词。
      • 不分词:一般用于ID、CODE或短名称字段,支持精确匹配。
      • 普通分词:基于系统分词进行公共分词。例如“工业数字模型驱动引擎-数据建模引擎”会分为“工业数字模型驱动引擎/数据建模引擎”
      • 英文普通分词:对于英文内容,进行空格分词;对于中文内容,进行中文单字分词。
      • 最全分词:介于普通分词和单字分词之间。例如“工业数字模型驱动引擎-数据建模引擎”,会分为:工业、数字模型、驱动、引擎。
      • 单字分词:一般用于短文本的搜索,用于提升召回率。例如“工业数字模型驱动引擎-数据建模引擎”会分为“工/业/数/字/模/型/驱/动/引/擎”
      • 分隔符分词:按照分隔符分词,结合“分词选项”使用。

      分词选项

      • “分词方法”选择“不分词”“最全分词”,该参数为“不涉及”,不可选。
      • “分词方法”选择“普通分词”“单字分词”,可选择不涉及、全拼、简拼和全拼+简拼。
      • “分词方法”选择“英文普通分词”,可选择不涉及、词干化和词形还原。
        • 词干化表示将单词的词缀部分去掉,从而得到单词的词干部分。例如,使用beauty搜索出beautiful。
        • 词形还原表示将一些名词的复数去掉,或将动词的不同时态去掉等。例如,使用apples搜索出apple,使用doing/dose搜索出do。
      • “分词方法”选择“分隔符分词”,可选择空格分词、逗号分词和分号分词。

      作为过滤条件

      是否将索引作为过滤条件。
      • Y:是。如果选择Y,iDME会将索引值作为过滤条件,对搜索内容进行过滤。
      • N:否。

      参与关键词搜索

      是否参与关键词搜索。
      • Y:是。例如,设置姓名和描述参与关键词搜索,关键词是“小明”,可搜索姓名或描述为“小明”的搜索结果。
      • N:否。

      展示

      是否展示。
      • Y:是。如果选择Y,则在搜索服务API的出参中展示。
      • N:否。

      匹配方法

      文本索引支持的匹配方式如下:
      • 精确匹配:只会匹配与输入内容完全一致的内容。
      • 模糊匹配:对输入内容进行拆分字、形似字、音似字、大小写等形式的相似字匹配。
      • 短语匹配:是一种精确匹配短语(多个单词以特定顺序排列)的查询方式,分词后多个词的位置关系会被考虑。只有分词后的多个词在行数据中以同样的顺序和位置存在时,才表示行数据满足查询条件。如果“分词方法”“单字分词”“分词选项”“不涉及”,使用短语匹配可以实现相关度更高的模糊查询。

        例如字段值是“工业数字模型驱动引擎”,查询字段是“工业模型”,如果是模糊匹配,则可以匹配到该行数据,但是如果是短语匹配查询,则不能匹配到该行数据,因为“工业”“模型”在查询字段中的距离是0,但是在行数据中的距离是2(“数字”两个字导致间隔距离是2)。

      “作为过滤条件”“参与关键词搜索”均选择“N”,该参数不可选。

    • 日期索引

      配置项

      说明

      索引名称

      索引的名称。

      索引描述

      索引的描述。

      索引类型

      选择“日期”

      作为过滤条件

      是否将索引作为过滤条件。
      • Y:是。如果选择Y,iDME会将索引值作为过滤条件,对搜索内容进行过滤。
      • N:否。

      参与关键词搜索

      是否参与关键词搜索。
      • Y:是。例如,设置姓名和描述参与关键词搜索,关键词是“小明”,可搜索姓名或描述为“小明”的搜索结果。
      • N:否。

      展示

      是否展示。
      • Y:是。如果选择Y,则在搜索服务API的出参中展示。
      • N:否。

      匹配方法

      日期索引支持的匹配方式如下:
      • 精确匹配:只会匹配与输入内容完全一致的内容。
      • 范围匹配:根据设置的查询范围进行匹配。

      “作为过滤条件”“参与关键词搜索”均选择“N”,该参数不可选。

    • 浮点型索引

      配置项

      说明

      索引名称

      索引的名称。

      索引描述

      索引的描述。

      索引类型

      选择“浮点型”

      作为过滤条件

      是否将索引作为过滤条件。
      • Y:是。如果选择Y,iDME会将索引值作为过滤条件,对搜索内容进行过滤。
      • N:否。

      参与关键词搜索

      是否参与关键词搜索。
      • Y:是。例如,设置姓名和描述参与关键词搜索,关键词是“小明”,可搜索姓名或描述为“小明”的搜索结果。
      • N:否。

      展示

      是否展示。
      • Y:是。如果选择Y,则在搜索服务API的出参中展示。
      • N:否。

      匹配方法

      浮点型索引支持的匹配方式如下:
      • 精确匹配:只会匹配与输入内容完全一致的内容。
      • 模糊匹配:对输入内容进行拆分字、形似字、音似字、大小写等形式的相似字匹配。
      • 范围匹配:根据设置的查询范围进行匹配。

      “作为过滤条件”“参与关键词搜索”均选择“N”,该参数不可选。

    • 长整型索引

      配置项

      说明

      索引名称

      索引的名称。

      索引描述

      索引的描述。

      索引类型

      选择“长整型”

      作为过滤条件

      是否将索引作为过滤条件。
      • Y:是。如果选择Y,iDME会将索引值作为过滤条件,对搜索内容进行过滤。
      • N:否。

      参与关键词搜索

      是否参与关键词搜索。
      • Y:是。例如,设置姓名和描述参与关键词搜索,关键词是“小明”,可搜索姓名或描述为“小明”的搜索结果。
      • N:否。

      展示

      是否展示。
      • Y:是。如果选择Y,则在搜索服务API的出参中展示。
      • N:否。

      匹配方法

      长整型索引支持的匹配方式如下:
      • 精确匹配:只会匹配与输入内容完全一致的内容。
      • 模糊匹配:对输入内容进行拆分字、形似字、音似字、大小写等形式的相似字匹配。
      • 范围匹配:根据设置的查询范围进行匹配。

      “作为过滤条件”“参与关键词搜索”均选择“N”,该参数不可选。

    • 联合索引

      配置项

      说明

      索引名称

      索引的名称。

      索引描述

      索引的描述。

      索引类型

      选择“联合索引”

      运算符

      联合索引支持如下逻辑运算符:

      • 与:逻辑与,返回与联合索引所含字段条件完全匹配的数据。
      • 或:逻辑或,返回与联合索引所含任一个字段匹配的数据。

      分隔符

      iDME支持多种分隔符,常见的分隔符有空格、制表符、逗号、分号、竖线等。如果您未设置分隔符,返回结果默认使用“/”进行分隔。

      分词方法

      为索引设置分词方法后,xDM-F会将可分词的内容根据设定的分词方法分成多个词。
      • 不分词:一般用于ID、CODE或短名称字段,支持精确匹配。
      • 普通分词:基于系统分词进行公共分词。例如“工业数字模型驱动引擎-数据建模引擎”会分为“工业数字模型驱动引擎/数据建模引擎”
      • 英文普通分词:对于英文内容,进行空格分词;对于中文内容,进行中文单字分词。
      • 最全分词:介于普通分词和单字分词之间。例如“工业数字模型驱动引擎-数据建模引擎”,会分为:工业、数字模型、驱动、引擎。
      • 单字分词:一般用于短文本的搜索,用于提升召回率。例如“工业数字模型驱动引擎-数据建模引擎”会分为“工/业/数/字/模/型/驱/动/引/擎”
      • 分隔符分词:按照分隔符分词,结合“分词选项”使用。

      分词选项

      • “分词方法”选择“不分词”“最全分词”,该参数为“不涉及”,不可选。
      • “分词方法”选择“普通分词”“单字分词”,可选择不涉及、全拼、简拼和全拼+简拼。
      • “分词方法”选择“英文普通分词”,可选择不涉及、词干化和词形还原。
        • 词干化表示将单词的词缀部分去掉,从而得到单词的词干部分。例如,使用beauty搜索出beautiful。
        • 词形还原表示将一些名词的复数去掉,或将动词的不同时态去掉等。例如,使用apples搜索出apple,使用doing/dose搜索出do。
      • “分词方法”选择“分隔符分词”,可选择空格分词、逗号分词和分号分词。

      作为过滤条件

      是否将索引作为过滤条件。
      • Y:是。如果选择Y,iDME会将索引值作为过滤条件,对搜索内容进行过滤。
      • N:否。

      参与关键词搜索

      是否参与关键词搜索。
      • Y:是。例如,设置姓名和描述参与关键词搜索,关键词是“小明”,可搜索姓名或描述为“小明”的搜索结果。
      • N:否。

      展示

      是否展示。
      • Y:是。如果选择Y,则在搜索服务API的出参中展示。
      • N:否。

      匹配方法

      联合索引支持的匹配方式如下:
      • 精确匹配:只会匹配与输入内容完全一致的内容。
      • 模糊匹配:对输入内容进行拆分字、形似字、音似字、大小写等形式的相似字匹配。
      • 短语匹配:是一种精确匹配短语(多个单词以特定顺序排列)的查询方式,分词后多个词的位置关系会被考虑。只有分词后的多个词在行数据中以同样的顺序和位置存在时,才表示行数据满足查询条件。如果“分词方法”“单字分词”“分词选项”“不涉及”,使用短语匹配可以实现相关度更高的模糊查询。

        例如字段值是“工业数字模型驱动引擎”,查询字段是“工业模型”,如果是模糊匹配,则可以匹配到该行数据,但是如果是短语匹配查询,则不能匹配到该行数据,因为“工业”“模型”在查询字段中的距离是0,但是在行数据中的距离是2(“数字”两个字导致间隔距离是2)。

      “作为过滤条件”“参与关键词搜索”均选择“N”,该参数不可选。

步骤3:添加服务配置

  1. 选择“服务配置”页签,进入服务配置页面。
  2. 选择需要搜索的实体,单击“添加”

    您可以选择自定义的实体模型,也可以选择iDME内置模型,如文件夹、生命周期等。

    每个已定义的索引至少关联一个实体属性。

    图4 添加搜索实体

  3. 在数据图谱的下方,选择实体的属性名称,单击“保存”

    图5 关联属性

步骤4:发布和验证搜索服务

  1. 单击“发布”
  2. 选择“脚本显示”页签,进入脚本显示页面。
  3. 生产环境”中,输入参数,单击“运行”

    如运行成功,即可在右侧的“输出结果”查看运行结果。

    此外,xDM-F支持使用<em>和</em>标签高亮检索的关键词。如需高亮关键词,单击“是否需要高亮关键词”开关即可。开启后,输入需要搜索的关键词并单击“运行”,与搜索关键词匹配的内容将自动添加高亮标签,方便您在前端页面中识别并进行相应渲染。

    图6 验证搜索服务

步骤5:同步搜索服务数据

  1. 选择“数据同步”页签,单击“同步数据”

    图7 同步数据

  2. 在弹出的提示框中,单击“确认”
分享:

    相关文档

    相关产品