创建搜索服务
操作场景
本文指导您在应用运行态创建搜索服务。
前提条件
已登录应用运行态。
步骤1:定义搜索服务
- 在左侧导航栏中,单击 ,进入搜索服务管理页面。
- 单击“创建”。
- 在展开的“服务定义”页面,设置如下信息,单击“保存”。
图1 服务定义
表1 创建搜索服务参数 参数
参数说明
API英文名称
搜索服务API的英文名称。
API中文名称
搜索服务API的中文名称。
API英文描述
搜索服务API的英文描述。
API中文描述
搜索服务API的中文描述。
API责任人
搜索服务API的责任人。
标签
- 如果您没有可使用的标签,可选择“自定义”。
- 如果您已有可使用的标签,可选择“添加标签”。
更多关于标签的操作请参见标签。
步骤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:添加服务配置
- 选择“服务配置”页签,进入服务配置页面。
- 选择需要搜索的实体,单击“添加”。
您可以选择自定义的实体模型,也可以选择iDME内置模型,如文件夹、生命周期等。
每个已定义的索引至少关联一个实体属性。
图4 添加搜索实体
- 在数据图谱的下方,选择实体的属性名称,单击“保存”。
图5 关联属性
步骤4:发布和验证搜索服务
- 单击“发布”。
- 选择“脚本显示”页签,进入脚本显示页面。
- 在“生产环境”中,输入参数,单击“运行”。
如运行成功,即可在右侧的“输出结果”查看运行结果。
此外,xDM-F支持使用<em>和</em>标签高亮检索的关键词。如需高亮关键词,单击“是否需要高亮关键词”开关即可。开启后,输入需要搜索的关键词并单击“运行”,与搜索关键词匹配的内容将自动添加高亮标签,方便您在前端页面中识别并进行相应渲染。
图6 验证搜索服务
步骤5:同步搜索服务数据
- 选择“数据同步”页签,单击“同步数据”。
图7 同步数据
- 在弹出的提示框中,单击“确认”。