# 复合搜索

对于复合搜索，可以使用搜索运算符组合两个或多个搜索。这允许对数据进行定制和特定的筛选。通过将搜索包含在一组括号内来触发复合搜索。可以在单个复合搜索中使用多个搜索运算符。

Qlik Sense 中的复合搜索

Qlik Sense 中的复合搜索

Qlik SenseQlik Sense 中的复合搜索 ![使用 OR 运算符 (|) 进行复合搜索的示例。搜索文本为 '(01|03)'，不带引号。它返回值 '01' 和 '03'。](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_CompoundSearchGeneric.png)

在最基本的形式中，复合搜索可以包含单个值。与其他搜索方法不同，对单个项的复合搜索将仅返回与搜索项完全匹配的值。这可以帮助您创建更具体的数据搜索。

使用单个搜索项的复合搜索

使用单个搜索项的复合搜索

使用单个搜索项的复合搜索 ![仅使用一个搜索项的复合搜索。在这种情况下，搜索在“Region”字段中输入，搜索文本为 '(Spain)'，不带引号。“Region”值“Spain”是唯一列出的结果。](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_CompoundSearchSingleTerm.png)

复合搜索可以包含一个或多个通配符。如果搜索内容包含空格，请在复合搜索中使用引号将值括起来。

有关引号和通配符的详细信息，请参阅[文本搜索](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Selections/SelectionsToolbar/text-search-selections-visualizations.htm)。

使用多个通配符和引号的复合搜索

使用多个通配符和引号的复合搜索

使用多个通配符和引号的复合搜索 ![复合搜索的示例。这里使用了引号（用于指定带空格的字符串搜索）、OR 搜索运算符和两个通配符（* 和 ？）。搜索文本为 'P?????C'，包含在引号中，与第二个搜索 '*B'（无引号）之间用 '|'（不带引号）分隔。此搜索文本包含在段落中，结果包括值 'Prod.B' 和 'Prod.C'。](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_CompoundSearchMultWildcardQuotes.png)

## OR 搜索运算符 ("|")

使用 OR 运算符，复合搜索将返回与任何包含的搜索匹配的值。

使用 OR 搜索运算符进行复合搜索

使用 OR 搜索运算符进行复合搜索

使用 OR 搜索运算符进行复合搜索 ![使用 OR 运算符进行复合搜索。在本例中，搜索文本为 '(2012|2013|2014)'，实际搜索中没有引号。结果包括值“2012”、“2013”和“2014”。](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_CompoundSearch_Operator_OR.png)

## AND 搜索运算符 ("&")

使用 AND 运算符，复合搜索将返回与语句中包含的所有搜索项匹配的值。由于复合搜索仅返回精确匹配，因此此运算符通常仅与一个或多个通配符一起使用。

使用 AND 搜索运算符进行复合搜索

使用 AND 搜索运算符进行复合搜索

使用 AND 搜索运算符进行复合搜索 ![使用 AND 运算符进行复合搜索。在本例中，搜索文本为 '(2012|2013|2014)'，实际搜索中没有引号。结果包括值“2012”、“2013”和“2014”。](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_CompoundSearch_Operator_AND.png)

此附加示例在复合搜索中使用 AND 运算符和多个通配符。

使用 AND 搜索运算符的复合搜索的附加示例

使用 AND 搜索运算符的复合搜索的附加示例

使用 AND 搜索运算符的复合搜索的附加示例 ![使用 AND 运算符进行复合搜索。在本例中，搜索文本为 '(*ABC* \['and' operator symbol\] ?Inc*)'，实际搜索中没有引号。结果包括值 'Solutions ABC Inc'。](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_CompoundSearch-and-operator.png)

## XOR 搜索运算符 ("^")

使用 XOR 运算符，复合搜索将返回与第一次或第二次搜索匹配的值，但不是两者都匹配的值。

在下面的示例中，搜索返回以字母 "j" 开头或以字母 "h" 结尾的值，但不包括与这两个条件匹配的值（如 "Josh"）。

使用 XOR 搜索运算符进行复合搜索

使用 XOR 搜索运算符进行复合搜索

使用 XOR 搜索运算符进行复合搜索 ![在本例中，搜索文本为 '(J* ^ *h)'，实际搜索中没有引号。结果包括值 'John' 和 'Smith'，但不包括例如 'Josh'。](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_CompoundSearch_Operator_XOR.png)

此示例使用 XOR 运算符和多个通配符。

使用 XOR 搜索运算符的复合搜索的附加示例

使用 XOR 搜索运算符的复合搜索的附加示例

使用 XOR 搜索运算符的复合搜索的附加示例 ![使用 XOR 运算符进行复合搜索。在本例中，搜索文本为 '(*ABC*^?*Inc*)'，实际搜索中没有引号。结果包括值 'ABC New Solution'、'ABC Solution'、'Neat ABC Company' 和 'Solution Company Inc.'。](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_CompoundSearch_xor-operator.png)

## 复合搜索中常规搜索的注意事项

信息注释

由于客户端和引擎处理您的搜索输入的方式存在差异，标准空格字符是唯一完全受支持用作词边界令牌的分隔符。其他分隔符可能受引擎支持并被解释为有效的词边界标记，但由于客户端输入限制而无法使用。

这些客户端限制是必需的，以便客户端能够（通过仅限 ASCII 的正则表达式）逐字符解析并结构化输入的文本字符串，并将其转换为独立的、可搜索的词。

词边界分类器的实际解释是由 ICU 库通过 Unicode 提供的一种基于规则的分类，且高度依赖于系统语言设置。