查询 Domino 文档
“查询文档”活动用于从 Lotus® Domino® 服务器中的数据库查询与文档字段中指定的值匹配的文档。
可以在通过出站请求发送的输入数据中指定下列条件中的一个或多个。
- 文档业务数据:当在“映射输入”部分中指定文档业务数据时,连接器会读取该映射输入中的所有有效数据。连接器将搜索数据库以查找与这些有效数据匹配的文档。所有可使用映射输出模式来表示的匹配文档都会作为响应被返回。
- ParentDocumentUNID:当在“映射输入”部分中指定有效的 ParentDocumentUNID 时,连接器会查询此父文档的所有子文档。所有可使用映射输出模式来表示的匹配文档都会作为响应被返回。
- 无数据集:如果在映射输入中不提供数据,那么连接器会查询可使用映射输出模式来表示的文档。
您可以依据两种类型的搜索方法来搜索文档:
- 数据库搜索方法:提供文档的选择条件,返回数据库中所有符合条件的文档。
缺省情况下,活动将使用数据库搜索方法来搜索文档。要显式地将搜索设置为此类型,请在映射输入部分中将 searchType 可选参数的值设置为 NORMAL_SEARCH。此方法支持依据下列类型的搜索条件来搜索文档:
- 单值:您可以在搜索条件中指定单个值。例如,连接器可基于搜索字段中指定的单个词、数字或日期来查询文档。您可以在下列说明中找到有关可在“数字”和“日期”类型字段中指定的搜索值的更多信息。
- 数字:您可以在“数字”类型字段中指定一个两位数字或一个整数值作为搜索条件。您可以使用此搜索功能来查询“数字”类型字段等于特定值的文档。例如,要查询员工工资等于 1234.56 的文档,请在 EmployeeSalary 字段中输入值 1234.56。
- 日期:您可以在任何“日期”类型字段中指定日期作为搜索条件。例如,要查询生日等于 1982/11/22 的文档,请在“生日”字段中指定值 1982/11/22。
- 多个值:可以针对任何 Lotus® Domino® 字段类型指定多个值作为搜索条件。此功能可用来在运行时查找具有指定值的文档。例如,您可以配置连接器以检索与搜索条件中指定的词匹配的文档。
- 对富文本内容的文本搜索:您可以指定文本,以在运行时搜索包含富文本内容的文档。连接器通过使用 RichText 字段中指定的文本来执行搜索,并检索所有匹配文档。连接器支持针对 RichText 字段执行单个/多个文本内容搜索。您还可以提供通配符后缀(例如 *)来通过 RichText 字段搜索文档。
- 使用多个字段进行搜索:您可以在多个字段中指定搜索值。在此配置中,活动使用逻辑 AND 运算符将搜索字符串分组。例如,可以在不同字段中指定单个值、多个值、RichText 或 ParentDocumentUNID。活动仅返回与所有指定条件都匹配的搜索内容。
- 单值:您可以在搜索条件中指定单个值。例如,连接器可基于搜索字段中指定的单个词、数字或日期来查询文档。您可以在下列说明中找到有关可在“数字”和“日期”类型字段中指定的搜索值的更多信息。
- 数据库 FTSearch/索引搜索方法:对数据库中的所有文档执行全文搜索。当数据库完全编制索引后,索引搜索方法与数据库搜索方法相比更快。此方法会按照相关性分数对输出数据进行排序。
按相关性对集合进行排序后,将先显示相关性最高的项。要显式地将搜索设置为此类型,请在映射输入部分中将 searchType 可选参数的值设置为 FULL_TEXT_SEARCH。
- 使用多个字段进行搜索:索引搜索方法也支持使用多个字段进行搜索。您可以在多个字段中指定搜索值。在此配置中,连接器使用逻辑 AND 运算符将搜索字符串分组。例如,可以在不同字段中指定单个值、多个值或 ParentDocumentUNID。连接器将返回所有指定搜索条件的逻辑 AND 运算,针对字符串类型字段返回完全匹配项和近似匹配项,针对数字类型字段返回完全匹配项。
注: 索引搜索方法不适用于 RichText、Attachments 和 Date 字段。
使用“查询文档”活动
- 右键单击项目窗格中的编排,然后单击新建编排以创建一个编排,或者打开一个编排。 这样会显示编排窗格。
- 选择活动选项卡并展开 Domino 文件夹。
- 将查询活动从 Domino 文件夹拖至编排上。这样会显示编排的图形表示以及核对表。
- 单击选取端点,然后选择 Domino 端点。
有关创建或编辑 Domino 端点的指示信息,请参阅创建或编辑 Domino 活动的端点。
- 单击“核对表”中的配置。这样会显示“配置”窗格。
- 单击浏览以从浏览 Domino 数据库窗格中选择现有数据库。“浏览 Domino 数据库”显示所选端点的所有数据库。
- 单击下一步以从浏览 Domino 表单窗格中选择现有表单。“浏览 Domino 表单”显示 Domino 服务器的所选数据库中的所有表单。注: 仅在选择数据库名称后才会启用下一步按钮。
- 具有规范名称的字段接受具有规范名称(例如 John Smith/IBM/COUNTRY)的字段作为值,这些字段之间用逗号分隔。如果希望将这些字段中的值转换为因特网邮件地址(例如 johnsmith@country.ibm.com),请在该字段中指定规范名称。下面为一些字段名称示例:“收件人”、“发件人”、“抄送人”、“主席”、“必需出席者”等。
- 在“核对表”中选择映射输入。
从查询文档活动的所选对象中生成的 XML 模式将显示为至活动面板中请求输入参数下的节点。
对于在多个数据库中均相同的“表单类型”,您可以指定数据库名称作为映射输入中可选参数的一部分,在这些输入中可使用相同的编排对不同数据库执行出站操作。要执行该操作,必须在 databaseName 可选参数中指定数据库名称(如表 1 所述)。如果为 databaseName 参数填充了一个值,那么将对 databaseName 参数中指定的数据库执行出站操作。 如果未指定值,将会使用在配置期间指定的数据库名称来执行出站操作。
下表中描述了可选输入参数:
表 1. 可选输入参数 参数名称 描述 databaseName databaseName 是从中查询文档的数据库的名称。如果为该参数设置了值,那么将覆盖配置面板中给出的数据库值。该参数适用于需要使用相同编排从多个数据库中查询具有相同结构(表单)的文档的情况。 Domino 连接器还支持从端点动态连接到其他 Domino 服务器。在运行时期间,如果要动态连接到端点页面中配置的 Domino 服务器之外的 Domino 服务器,可在映射输入的 dominoConnectionProperties 中添加新的可选参数。下表中描述了 dominoConnectionProperties 的参数:表 2. 可选连接参数 参数 描述 dominoConnectionProperties 参数 hostName 指定运行 Domino 服务器的机器的主机名或 IP 地址。 diiopPort 指定 Domino Internet Inter-ORB Protocol (DIIOP) 端口,该端口允许 Java™ applet 或应用程序使用 CORBA 远程访问 Domino 数据。缺省值为 63148。 username 指定用于连接到 Domino 服务器的用户名。 connectionPool 参数 minimumConnections 指定 Integration Appliance 在连接池中保持打开的最小 Domino 服务器连接数。支持输入 0(零)。缺省值为 5。 maximumConnections 指定 Integration Appliance 在连接池中保持打开的最大 Domino 服务器连接数。输入 0(零)意味着最大连接数不受限制。缺省值为 25。 maxIdleTime 指定 Domino 服务器连接在被 Integration Appliance 关闭之前可以在空闲状态下保持打开状态的时间量(分钟)。指定 0 意味着,当连接返回到池中时便已关闭,即无空闲时间。缺省值为 120 分钟。 maxWait 指定 Integration Appliance 在池中所有连接都已用尽时等待连接的时间长度(秒)。如果在该等待时间后未获得连接,会抛出异常。缺省值为 300 秒。 reclaimConnections 指定接口检查空闲连接的时间间隔。接口会回收空闲连接,直至达到在“最小连接数”参数中指定的最小连接数。缺省值为 5 分钟。 password 指定与用于连接到 Domino 服务器的用户名关联的密码。 - 创建活动的编排变量与输入参数之间的映射。注: 在运行时必须为输入结构的任何必要元素都提供值。可以通过为元素指定缺省值或通过将元素与输入节点链接来提供值。在运行时期间,如果没有为必要元素提供值,那么活动会抛出由 Web 管理控制台报告的异常。如果在运行时没有为可选输入参数提供值,那么在运行时期间不会抛出异常。
- 选择要用于活动的搜索类型:
表 3. 搜索类型 参数名称 描述 searchType 指定要用于此活动的搜索类型。值包括: - NORMAL_SEARCH:使用 Domino 数据库搜索方法。
- FULL_TEXT_SEARCH:使用 Domino 数据库 FTSearch 方法。
- 在“核对表”中选择映射输出。
为保存活动响应而生成的 XML 模式将显示为自活动面板中响应输出参数下的节点。
注: 存在于 Domino 文档中且未在映射输入/输出结构中生成的动态添加的字段由 Domino 连接器处理。在使用该活动检索文档时,这些字段的数据在映射输出部分的 AdditionalFields 下可用。
queryUsingTimestamp 是用于基于时间戳记查询文档的参数。timestamp 属性是一个递归属性。您可以在 timestamp 属性下定义 groupFields、name、operator 和 value。
下表中描述了可选输出参数:
参数名称 描述 queryUsingTimestamp 以下是 timestamp 属性:表 4. timestamp 属性 属性 值 groupFields 您可以指定多个值,例如:AND、OR、(,)、AND(、OR(、)AND、)OR、)AND( 和 )OR(。 注: 您可以使用多个条件。在使用多个条件时必须使用 groupFields。name 指定以下值之一:createdTimestamp 或 lastModifiedTimestamp operator 指定以下值之一:GREATER_THAN、GREATER_THAN_OR_EQUAL_TO、EQUAL_TO、LESS_THAN、LESS_THAN_OR_EQUAL_TO 和 NOT_EQUAL_TO value 指定日期和时间值。例如,26-09-2013 12:05:00 PM EST。 注: 如果不指定时区,缺省情况下将认为使用的是服务器的时区。注:- “全文搜索”中不支持基于 NOT_EQUAL_TO 运算符 (!=) 查询文档。
- “全文搜索”中不支持使用时间查询文档。 例如,[_RevisionDate] = 05/06/2013 09:30:00。
- “普通搜索”类型中不支持使用 EQUAL_TO 运算符和时间戳记查询文档。例如,@Modified = [05/06/2013 09:14:22]。
- 如果使用“全文搜索”作为搜索类型来查询文档,那么只能基于“日期”查询文档,而不能基于“日期时间”查询文档。 例如,“全文搜索”中不支持 lastModfiedDateTime >= 05/20/2013 20:00:00。
- 创建输出参数与编排变量之间的映射。