全部产品
云市场

搜索结果摘要

更新时间:2019-07-23 15:20:02

一般文档内容会比较长,而在实际展示搜索结果的时候,不可能完全展示出来。这时候就需要做摘要及飘红设置。系统会截取包含搜索结果的几个片段,供用户了解具体匹配内容,以快速判断是否是自己想要的结果。

用户可以在控制台对搜索结果的展示效果进行自定义设置,设置完成后,调用 API 时,系统会自动获取用户配置,并添加到查询 query 中,无需用户再次传入。当然也可以在 API 参数中通过 summary 参数进行具体查询的控制。

注意

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

主要参数

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

摘要配置

控制台配置

以下示例主要针对名称字段,做摘要飘红配置。飘红标签为em。摘要飘红截图

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对象参数
  • 注:
  1. SDK的SearchParams类中summary对象参数中暂时不能指定飘红的前后缀(必须是完整html标签),前后缀默认为<>,比如设置飘红标签为em,飘红后返回的json结果格式为:xxx<em>xxx</em>xxx;
  2. 若要在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用分号分割

摘要飘红效果展示

摘要飘红展示效果