全部产品

搜索结果摘要

更新时间:2020-08-21 14:09:29

一般文档内容会比较长,而在实际展示搜索结果的时候,不可能完全展示出来。这时候就需要做摘要及飘红设置。系统会截取包含搜索结果的几个片段,供用户了解具体匹配内容,以快速判断是否是自己想要的结果。
用户可以在控制台对搜索结果的展示效果进行自定义设置,设置完成后,调用 API 时,系统会自动获取用户配置,并添加到查询 query 中,无需用户再次传入。当然也可以在 API 参数中通过 summary 参数进行具体查询的控制。

主要参数介绍

  • 字段:需要配置摘要的字段
  • 片段长度:表示摘要长度
  • 飘红标签:关键词飘红的html标签
  • 片段连接符:每个片段之间的连接符
  • 片段数量:在摘要长度内需要几个片段

控制台配置及生效

1.控制台——>功能扩展——>搜索结果展示配置搜索结果摘要

1

2.以下示例为飘红标签的配置。飘红标签为em。

2

SDK/API配置

  • API 参数中,通过 summary 参数 指定。
  • SDK配置,以java sdk为例,demo:

    1. // 设置搜索结果摘要信息,此处采用下面的SearchParams对象添加搜索结果摘要,比较简便
    2. Summary summ = new Summary("name");
    3. summ.setSummary_field("name");//指定的生效的字段。此字段必需为可分词的text类型的字段。
    4. summ.setSummary_len("50");//片段长度
    5. summ.setSummary_element("em"); //飘红标签
    6. summ.setSummary_ellipsis("...");//片段链接符
    7. summ.setSummary_snippet("1");//片段数量
    8. //添加Summary对象参数

    温馨提示

  • SDK的SearchParams类中summary对象参数中暂时不能指定飘红的前后缀(必须是完整html标签),前后缀默认为<>,比如设置飘红标签为em,飘红后返回的json结果格式为:阿里云<em>开放搜索</em>产品文档;

  • 若要在SDK中设置飘红的前后缀,请使用searchParamsBuilder对象。

    1. // SearchParams的工具类,提供了更为便捷的操作
    2. SearchParamsBuilder paramsBuilder = SearchParamsBuilder.create(searchParams);
    3. // 使用SearchParamsBuilder对象添加搜索结果摘要
    4. paramsBuilder.addCustomParam("summary", "summary_field:name,summary_ellipsis:...,summary_snipped:1,summary_len:50,summary_element_prefix:<abc>,summary_element_postfix:</abc>");
    5. // 添加多个summary_field用分号分割

    注意事项

  • 不支持摘要与飘红分开配置。

  • 若配置多个摘要字段,并且对应摘要字段值中有包含索引中指定搜索关键词的分词,则这些摘要字段中对应分词内容都会摘要飘红。
  • 若对应用中某个字段分别创建不同分词类型,例如同时创建了中文基础及单字分词,此时中文单字分词摘要飘红会有问题,该摘要飘红内容只会匹配中文基础分词,或出现内容飘红不对。
  • 同一个请求query中,设置2种及以上不同类型分词索引进行搜索召回,会导致不飘红或飘红异常。

摘要飘红效果展示

3