跳到主要内容 跳到补充内容

文本搜索

文本搜索是您可以在 Qlik Sense 中使用的主要搜索方法。使用引号、通配符和修饰符搜索字段中的值。在键入搜索字符串后,Qlik Sense 将筛选字段值,并显示匹配条目。

文本搜索可以分为两种不同的搜索模式:

  • 普通搜索

  • 通配符搜索

文本搜索中的搜索模式
搜索类型 描述 示例 支持的数据类型
普通搜索 使用包含加号和减号修饰符的文本 ACME -Inc 字符或文本字符串、数值、双值
通配符搜索 使用包含通配符的文本,不包括加号和减号修饰符 *公司 字符或文本字符串、数值、双值

普通搜索

普通文本不能包含通配符,但可以包含加号和减号修饰符。普通搜索只能交互使用,不能用于集合分析表达式内的搜索。

如果执行常规搜索,将显示与搜索字符串匹配的字符串。如果使用多个以空格分隔的字符串,则会将其中每个字符串视为单独的搜索字符串,并显示包含任一字符串的所有字段值。

使用单个搜索字符串(无引号)进行普通文本搜索

单个字符串 'ab' 的文本搜索,并显示结果。

使用由空格分隔的两个搜索字符串进行普通文本搜索(无引号)

两个单独的字符串的文本搜索:'abc' 和 'solution,用空格分隔。

下表包含普通搜索的其他示例,并对结果进行了解释。

普通文本搜索示例
示例 结果
"orange juice"

仅找到包含整个字符串 “orange juice” 的字段值。参阅 引号

orange juice 在没有引号的情况下,将显示包含 “orange”“juice” 的全部字段。
+orange +juice 查找诸如 “orange juice”, “orange and apple juice”“juice from oranges” 的匹配。参阅加号修饰符 (+)
-orange ‑juice 排除包含 orangejuice 的结果。参阅减号修饰符 (-)

引号

如果要将各单独的搜索字符串仅视为一个字符串,则使用引号 (" ") 将这些字符串连接在一起。

使用单个搜索字符串(包含在引号中)进行文本搜索

单个字符串 'abc solution' 文本搜索,带引号。

修饰符

修饰符允许您通过包含或排除满足特定条件的值来优化搜索结果。

有两种类型的修饰符可用:

  • 加号修饰符 (+)

  • 减号修饰符 (-)

加号修饰符 (+)

使用加号修饰符时,可以设置以下条件:匹配条目中必须包含带加号的字符串。但是,这些字符串不一定需要彼此相邻,也不一定使用与输入顺序相同的顺序。

在以下示例中,加号修饰符放置在值 abc 旁边。结果必须包含此值,但顺序无关紧要。第二个字符串 solution 不受此条件的约束,因此它可以出现在结果中,但不需要存在。

搜索包含加号修饰符 (+)

两个单独字符串前面包含加号修饰符的搜索。

减号修饰符 (-)

将减号修饰符放在搜索词之前会排除包含该文本的结果。

在本例中,单词 "solution" 前的负号将从结果中删除包含此字符串的所有值。

带减号修饰符 (-) 的搜索字符串

使用减号修饰符的搜索。

组合修饰符

可以在单个搜索中组合减号和加号修饰符。在本例中,包含字符串 "solution" 的值将被排除,并且字符串 "abc" 必须存在,以便该值出现在结果中。

组合减号和加号修饰符搜索

使用减号和加号修饰符的搜索。

通配符搜索

通配符搜索允许您使文本搜索更加灵活。通配符搜索可用于交互式情况和集合分析。通配符搜索不能包含加号或减号修饰符。

可以在搜索字符串中使用一个或多个通配符。可以使用以下通配符:

  • * 通配符

  • ? 通配符

  • ^ 通配符

通配符文本搜索示例
示例 结果
a* 查找所有以 “a” 开头的值,包括具有数个词的字符串,其中第一个词以 “a” 开头。
*b 查找所有以字母 “b” 结束的值,包括具有数个词的字符串,其中最后一个词以 “b” 结束。
*c* 找到包含字母 “c” 的全部值,包括含多个单词的字符串。
*^ab*

返回具有以 “ab” 开头的词的所有值。

相当于正常搜索 “ab”,但与正常搜索不同,它可以利用通配符进行更复杂的搜索。它还可以用于编程搜索,如集合分析。

r?ck 找到有四个字母且以 “r” 开头,后跟任何字符,并以 “ck” 结尾的全部值,例如 “rack”, “rick”, “rock”“ruck”
r?? ????d 查找包括以 “r” 开头的三字母词的所有值以及以 “d” 结尾的五字母词。
信息注释如果使用通配符,则仅显示与整个搜索字符串匹配的记录,即空格不表示逻辑 OR。对于搜索字符串 '*creamed',不能在 "Rocky's creamed corn" 中获得匹配项,因为该值不是以 “creamed” 结尾。对于 “creamed*”,也不能在 "Rocky's creamed corn" 中获得匹配项,因为该值不是以 “creamed” 开头。
信息注释搜索字符串中的空格将导致结果不同。如果搜索 “*corn”,则可在以(例如)“popcorn” 以及 “corn” 结尾的字符串中获得匹配项。如果在搜索字符串 “* corn” 中使用空格,则仅获取以 “corn” 结尾的匹配项。

* 通配符

* 通配符用于替换零个或多个字符,包括空格。此通配符较灵活,可与特定位置的任何字符或任何字符块匹配。

在本例中,结果中列出了以字符串“company”开头的所有值。

在定义的字符后使用 * 通配符搜索字符串

在几个定义的字符后使用 * 通配符进行搜索。

这里,结果中列出了所有以字符串 "company" 结尾的值。

在定义的字符前使用 * 通配符搜索字符串

在多个定义的字符之前使用 * 通配符进行搜索。

通过在字符串前后放置 * 通配符,结果将包括包含此字符串的所有值。

在定义的字符之前和之后使用 * 通配符搜索字符串

搜索单词 'Company',并包含在 * 通配符中。

? 通配符

? 通配符用于代替单个字符,包括空格。此通配符在以下情况下很有用:当您怀疑某字符串可能拼写错误时,当您不确定拼写时,或当字符串包含可能难以正确重现的特殊字符时。

此通配符可以替换字符串中的所有字符,也可以与定义的字符组合使用。

搜索字符串,其对于所有字符使用 ? 通配符

对于所有字符使用 ? 通配符的搜索。

在三个定义的字符后使用 ? 通配符搜索字符串

对于前几个字符 'ABC' 之外的所有搜索字符使用 ? 通配符的搜索(实际搜索中不使用引号)。

^ 通配符

^ 通配符用于按字段值中单词开头的一个或多个字符筛选值。此通配符必须与其他通配符结合使用。

在此示例中,搜索字符串 "*^a*" 将返回包含以字母“a”开头的字符串的所有值。

使用 ^ 和 * 通配符搜索字符串

组合两种不同的通配符类型进行搜索。

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们如何改进!