Solr

支持的管道类型:

  •  Data Collector

Solr目标端将数据写入Solr节点或集群。

配置Solr目标端时,将配置节点或集群的连接信息。您可以将目标端配置为单独或成批索引记录。

您可以配置目标端如何将记录中的字段映射到Solr中的字段。您可以使目标端根据名称自动将记录中的字段映射到Solr模式中的字段。或者,您可以将特定的传入字段映射到Solr字段。您还可以指定当记录缺少模式或映射字段中的字段时要执行的操作,并且可以配置目标端以忽略缺少的可选字段。

您可以指定目标端是否验证与Solr的连接。而且,您可以配置写入属性,以确定目标端是否在继续写入其他数据之前是否等待Solr完成所有处理。

必要时,可以启用目标端以使用Kerberos身份验证。

索引模式

索引模式确定在写入Solr时Solr目标端如何索引记录。索引模式还确定目标端如何处理错误。

您可以使用以下索引模式:

Record
目标端一次索引一个记录,然后将该记录传递给Solr。
如果发生错误,则目标端会将记录传递到阶段以进行错误处理。
Batch
目标端一次索引了一批记录,然后将其传递给Solr。
如果发生错误,则目标端将回滚所有已建立索引的记录,并将整个批处理传递到阶段以进行错误处理。

Kerberos身份验证

您可以使用Kerberos身份验证来连接到Solr节点或集群。使用Kerberos身份验证时,Data Collector使用Kerberos主体和密钥表连接到Solr。

Kerberos主体和密钥表在Data Collector 配置文件$SDC_CONF/sdc.properties中定义。要使用Kerberos身份验证,请在Data Collector 配置文件中配置所有Kerberos属性,然后在Solr目标端中启用Kerberos。

有关为Data Collector启用Kerberos身份验证的详细信息,请参阅Kerberos身份验证。

配置Solr目标端

配置Solr目标端以将数据写入Solr节点或集群。
  1. 在“Properties”面板的“General选项卡上,配置以下属性:
    一般属性 描述
    Name 阶段名。
    Description 可选说明。
    Stage Library 您要使用的库版本。
    Required Fields 必须包含用于将记录传递到阶段的记录的数据的字段。

    提示:您可能包括阶段使用的字段。

    根据为管道配置的错误处理,处理不包括所有必填字段的记录。

    Preconditions 必须评估为TRUE的条件才能使记录进入处理阶段。单击添加以创建其他前提条件。

    根据为该阶段配置的错误处理,处理不满足所有前提条件的记录。

    On Record Error 该阶段的错误记录处理:

    • Discard-放弃记录。
    • To Error-将记录发送到管道以进行错误处理。
    • Stop Pipeline-停止管道。
  2. 在“Solr”选项卡上,配置以下属性:
    Solr属性 描述
    Instance Type 要写入的Solr实例类型:

    • Single Node-写入单个Solr节点。
    • SolrCloud-写入Solr集群。
    Solr URI 当写入单个节点时,该节点的URI。使用以下格式:

    http://<host>:<port>/solr/<core_name>
    ZooKeeper Connection String 写入Solr集群时,请使用ZooKeeper连接字符串。使用以下格式:

    <host>:<port>

    如果集群使用多个ZooKeeper实例,请输入以逗号分隔的连接字符串列表。

    Default Collection Name 写入Solr集群时,该集群的默认集合名称。
    Record Indexing Mode 确定如何索引记录。
    Map Fields Automatically 根据匹配的名称,将记录中的字段自动映射到Solr模式中的字段。

    如果选择了“Ignore Optional Fields”,那么除非记录缺少Solr模式中必需的字段,否则目标端将处理每个记录。如果未选择“Ignore Optional Fields”,则每个记录必须包含模式中指定的所有字段,必填或非必填。

    仅当记录中的字段具有与Solr模式中的字段相同的名称和兼容的数据类型时,才使用此选项。

    Field Path for Data 目标端写入Solr的记录字段的路径。当目标自动映射字段时可用。

    默认值为/,表示字段位于根级别。

    Fields 记录中的字段到Solr字段的映射。当目标端不自动映射字段时可用。

    映射的字段必须具有兼容的数据类型。例如,您必须将记录中的List和Map字段映射到多值的Solr字段。

    使用简单或批量编辑模式,单击添加图标以创建其他字段映射。

    Ignore Optional Fields 忽略记录中不存在的非必需字段。选择后,缺少可选字段的记录将不带有可选字段。

    如果未选中,则将根据“Missing Fields”属性来处理任何缺少可选字段的记录。

    Missing Fields 如果记录不包含模式中的字段或映射字段,请采取的措施:

    • Discard-丢弃记录并继续处理后续记录。
    • Send to Error-根据为该阶段配置的错误处理来处理记录。
    • Stop Pipeline-停止管道。

    选择“Ignore Optional Fields”时,此属性不适用于缺少的可选字段。

    Kerberos Authentication 使用Kerberos凭据连接到Solr节点或集群。

    选中后,将使用Data Collector配置文件$SDC_CONF/sdc.properties中定义的Kerberos主体和密钥表

    Skip Validation 确定目标端是否验证与Solr的连接。

    当Solr配置文件solrconfig.xml并未定义默认搜索字段(“df”)参数时,将目标端配置为跳过验证 。

    Wait Flush 确定目标端是否在处理另一批数据之前,先等待Solr将一批数据写入磁盘。

    默认情况下,目标端等待。您可以禁用此属性以提高写入性能,但是如果Solr服务器无法完成对磁盘的写入,则数据可能会丢失。

    Wait Searcher 确定目标端是否在处理另一批数据之前等待Solr使一批数据可搜索。

    默认情况下,目标端等待。如果不需要在Data Collector提交数据之前在Solr中搜索数据,则可以禁用此属性。

    Soft Commit 确定Solr是执行软提交还是硬提交。软提交将在一批数据完全可用之前刷新索引视图。仅在批处理完全可用后,硬提交才会更新索引。

    默认情况下,目标端请求硬提交。如果不需要立即显示数据,则可以禁用此属性以提高写入性能。

    Connection Timeout (ms) 发起与Solr节点或集群的连接所允许的最大毫秒数。0表示没有限制。
    Socket Timeout (ms) 数据流可以中断的最大毫秒数。0表示没有限制。