文本搜索
上次更新日期:2026/10/9文本搜索是您可以在 Qlik Sense 中使用的主要搜索方法。使用引号、通配符和修饰符搜索字段中的值。在键入搜索字符串后,Qlik Sense 将筛选字段值,并显示匹配条目。
文本搜索可以分为两种不同的搜索模式:
-
普通搜索
-
通配符搜索
| 搜索类型 | 描述 | 示例 | 支持的数据类型 |
|---|---|---|---|
| 普通搜索 | 使用包含加号和减号修饰符的文本 | ACME -Inc | 字符或文本字符串、数值、双值 |
| 通配符搜索 | 使用包含通配符的文本,不包括加号和减号修饰符 | *公司 | 字符或文本字符串、数值、双值 |
普通搜索
普通文本不能包含通配符,但可以包含加号和减号修饰符。普通搜索只能交互使用,不能用于集合分析表达式内的搜索。
如果执行常规搜索,将显示与搜索字符串匹配的字符串。如果使用多个以空格分隔的字符串,则会将其中每个字符串视为单独的搜索字符串,并显示包含任一字符串的所有字段值。
使用单个搜索字符串(无引号)进行普通文本搜索

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

由于客户端和引擎处理您的搜索输入的方式存在差异,标准空格字符是唯一完全受支持用作词边界令牌的分隔符。其他分隔符可能受引擎支持并被解释为有效的词边界标记,但由于客户端输入限制而无法使用。
这些客户端限制是必需的,以便客户端能够(通过仅限 ASCII 的正则表达式)逐字符解析并结构化输入的文本字符串,并将其转换为独立的、可搜索的词。
词边界分类器的实际解释是由 ICU 库通过 Unicode 提供的一种基于规则的分类,且高度依赖于系统语言设置。
引号
如果要将各单独的搜索字符串仅视为一个字符串,则使用引号 (" ") 将这些字符串连接在一起。
使用单个搜索字符串(包含在引号中)进行文本搜索

修饰符
修饰符允许您通过包含或排除满足特定条件的值来优化搜索结果。
有两种类型的修饰符可用:
-
加号修饰符 (+)
-
减号修饰符 (-)
加号修饰符 (+)
使用加号修饰符时,可以设置以下条件:匹配条目中必须包含带加号的字符串。但是,这些字符串不一定需要彼此相邻,也不一定使用与输入顺序相同的顺序。
在以下示例中,加号修饰符放置在值 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” 结尾的五字母词。 |
* 通配符
* 通配符用于替换零个或多个字符,包括空格。此通配符较灵活,可与特定位置的任何字符或任何字符块匹配。
在本例中,结果中列出了以字符串“company”开头的所有值。
在定义的字符后使用 * 通配符搜索字符串

这里,结果中列出了所有以字符串 "company" 结尾的值。
在定义的字符前使用 * 通配符搜索字符串

通过在字符串前后放置 * 通配符,结果将包括包含此字符串的所有值。
在定义的字符之前和之后使用 * 通配符搜索字符串

? 通配符
该 ?通配符用于代替单个字符,包括空格。此通配符在以下情况下很有用:当您怀疑某字符串可能拼写错误时,当您不确定拼写时,或当字符串包含可能难以正确重现的特殊字符时。
此通配符可以替换字符串中的所有字符,也可以与定义的字符组合使用。
包含 ? 的搜索字符串对于所有字符的通配符

包含 ? 的搜索字符串三个定义的字符后的通配符

^ 通配符
^ 通配符用于按字段值中单词开头的一个或多个字符筛选值。此通配符必须与其他通配符结合使用。
在此示例中,搜索字符串 "*^a*" 将返回包含以字母“a”开头的字符串的所有值。
使用 ^ 和 * 通配符搜索字符串
