突出

突出显示全文结果

Redis Stack 使用高级算法进行突出显示和汇总,从而仅显示文档的相关部分以响应搜索查询。此功能允许用户立即了解文档与其搜索条件的相关性,通常以粗体文本突出显示匹配的词语。

命令语法

FT.SEARCH ...
    SUMMARIZE [FIELDS {num} {field}] [FRAGS {numFrags}] [LEN {fragLen}] [SEPARATOR {sepstr}]
    HIGHLIGHT [FIELDS {num} {field}] [TAGS {openTag} {closeTag}]

有两个子命令用于高亮显示。首先是HIGHLIGHT,该标签将匹配的文本括起来带有 open 和/或 close 标签。第二个是SUMMARIZE,它将字段拆分为围绕找到的术语的上下文片段。可以在同一查询中汇总字段、突出显示字段或执行这两个作。

综述

FT.SEARCH ...
    SUMMARIZE [FIELDS {num} {field}] [FRAGS {numFrags}] [LEN {fragLen}] [SEPARATOR {sepStr}]

摘要会将文本分割成较小大小的片段,每个片段都包含找到的术语和一些额外的周围上下文。

Redis Stack 可以使用SUMMARIZE关键词。如果未传递其他参数,则使用内置默认值汇总所有返回的字段。

SUMMARIZEkeyword 接受以下参数:

  • FIELDS:如果存在,则它必须是第一个参数。应遵循此规定 按 summary 的字段数,该字段本身后跟一个 领域。每个字段都进行了汇总。如果没有FIELDS指令, 然后汇总所有返回的字段。

  • FRAGS:要返回的片段数。如果未指定,则默认值为 3。

  • LEN:每个片段应包含的上下文词数。上下文 单词将找到的术语括起来。较高的值将返回较大的 发短信。如果未指定,则默认值为 20。

  • SEPARATOR:用于划分各个摘要片段的字符串。 默认值为... 这在搜索引擎中很常见,但您可能会 如果您希望以编程方式划分代码段,请用任何其他字符串覆盖此字符串 稍后。你也可以使用换行序列,因为换行符是从 result body 中。

突出

FT.SEARCH ... HIGHLIGHT [FIELDS {num} {field}] [TAGS {openTag} {closeTag}]

高亮显示将用用户定义的标签对将找到的术语(及其变体)括起来。这可用于使用标记语言以不同的字体显示匹配的文本,或者使文本以不同的方式显示。

Redis Stack 使用HIGHLIGHT关键词。如果未传递其他参数,则使用内置默认值突出显示所有返回的字段。

HIGHLIGHTkeyword 接受以下参数:

  • FIELDS:如果存在,则它必须是第一个参数。应遵循此规定 按要突出显示的字段数,该字段本身后跟一个 领域。突出显示存在的每个字段。如果没有FIELDS指令, 然后,将突出显示所有返回的字段。

  • TAGS:如果存在,则必须后跟两个字符串。第一个字符串被前置 添加到每个匹配的术语。第二个字符串将附加到每个匹配的词。如果没有TAGS是 指定,则内置标签对将追加到每个匹配的术语。

字段选择

如果没有特定字段传递给RETURN,SUMMARIZEHIGHLIGHTkeywords,则返回文档的所有字段。但是,如果这些关键字中的任何一个包含FIELD指令,则SEARCHcommand 将仅返回任何这些指令中列举的所有字段的总和。

RETURNkeyword 被特殊处理,因为它会覆盖SUMMARIZEHIGHLIGHT.

在命令RETURN 1 foo SUMMARIZE FIELDS 1 bar HIGHLIGHT FIELDS 1 baz、字段foo按原样返回,而barbaz不会返回,因为RETURN,但不包括这些字段。

在命令SUMMARIZE FIELDS 1 bar HIGHLIGHT FIELDS 1 baz,bar返回 summarize 和baz将高亮显示。

为本页评分
返回顶部 ↑