文本搜索
文本搜索是您可以在 Qlik Sense 中使用的主要搜索方法。使用引号、通配符和修饰符搜索字段中的值。在键入搜索字符串后,Qlik Sense 将筛选字段值,并显示匹配条目。
文本搜索可以分为两种不同的搜索模式:
-
普通搜索
-
通配符搜索
搜索类型 | 描述 | 示例 | 支持的数据类型 |
---|---|---|---|
普通搜索 | 使用包含加号和减号修饰符的文本 | ACME -Inc | 字符或文本字符串、数值、双值 |
通配符搜索 | 使用包含通配符的文本,不包括加号和减号修饰符 | *公司 | 字符或文本字符串、数值、双值 |
普通搜索
普通文本不能包含通配符,但可以包含加号和减号修饰符。普通搜索只能交互使用,不能用于集合分析表达式内的搜索。
如果执行常规搜索,将显示与搜索字符串匹配的字符串。如果使用多个以空格分隔的字符串,则会将其中每个字符串视为单独的搜索字符串,并显示包含任一字符串的所有字段值。
下表包含普通搜索的其他示例,并对结果进行了解释。
示例 | 结果 |
---|---|
"orange juice" |
仅找到包含整个字符串 “orange juice” 的字段值。参阅 引号。 |
orange juice | 在没有引号的情况下,将显示包含 “orange” 或 “juice” 的全部字段。 |
+orange +juice | 查找诸如 “orange juice”, “orange and apple juice” 和 “juice from oranges” 的匹配。参阅加号修饰符 (+)。 |
-orange ‑juice | 排除包含 orange 或 juice 的结果。参阅减号修饰符 (-)。 |
引号
如果要将各单独的搜索字符串仅视为一个字符串,则使用引号 (" ") 将这些字符串连接在一起。
修饰符
修饰符允许您通过包含或排除满足特定条件的值来优化搜索结果。
有两种类型的修饰符可用:
-
加号修饰符 (+)
-
减号修饰符 (-)
加号修饰符 (+)
使用加号修饰符时,可以设置以下条件:匹配条目中必须包含带加号的字符串。但是,这些字符串不一定需要彼此相邻,也不一定使用与输入顺序相同的顺序。
在以下示例中,加号修饰符放置在值 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”开头的字符串的所有值。