Salesforce API中WITH HIGHLIGHT与WITH SNIPPET的区别是什么?
Salesforce SOSL 中
WITH HIGHLIGHT 与 WITH SNIPPET 的核心区别 二者都是SOSL查询中用于处理搜索匹配结果高亮的语法,都会将匹配到的关键词用<mark>标签包裹,方便前端直接渲染高亮效果,核心差异如下:
1. 返回内容范围不同
WITH HIGHLIGHT:返回匹配字段的完整原始内容,仅对其中匹配到的搜索词添加高亮标签,不会截断原字段内容。比如搜索"客户续约",匹配到内容为"2024财年客户续约服务条款说明"的长文本字段时,会返回完整文本,仅将"客户续约"用高亮标签包裹。WITH SNIPPET:返回匹配关键词前后的截断片段内容,默认最多返回250个字符,自动过滤无关内容,只保留包含匹配词的上下文片段。
2. 字段支持范围不同
WITH HIGHLIGHT:支持所有可搜索的标准/自定义字段,包括长文本、富文本、名称、日期等全部可搜索字段类型。WITH SNIPPET:仅支持长文本区域、富文本区域、知识库文章正文三类长字段,不支持短文本、名称、数字等短字段类型。
3. 语法使用限制不同
WITH HIGHLIGHT:可搭配RETURNING子句同时查询多个对象、多个字段,每个匹配字段都会单独返回高亮结果。WITH SNIPPET:单次查询最多只能指定1个启用片段功能的对象,且需要在RETURNING子句中明确指定生成片段的字段,不能批量作用于所有返回字段。
4. 适用场景不同
WITH HIGHLIGHT适用于需要展示字段完整内容、同时标注匹配位置的场景,比如搜索结果详情页。WITH SNIPPET适用于搜索结果列表页,仅需要展示匹配内容预览、不需要加载完整长文本的场景,可大幅减少接口返回数据量,提升加载速度。
内容的提问来源于stack exchange,提问作者NoName
相关产品推荐
相关产品推荐

