Connector Configuration
|
In some scenarios, it can be useful to provide a system property or an environment
variable within a configuration value. For example, you might want to distribute multiple
connector instances over different containers and have certain configured parameters
adapted according to specific system properties or environment variables, respectively. You
can do this by providing a placeholder of the form However, for security reasons this replacement is disabled by default. A malicious user could misuse this feature to obtain sensitive information about the connector environment such as the host’s operating system, the user under which the connector is running etc. You can mitigate this issue e.g. by restricting the access to the connector UI. If you want to enable the resolution of system properties and environment variables,
set the system property |
SQL Database Configuration
Connection Settings
To establish a connection to a database, the following properties are mandatory:
| Name | Property | Description |
|---|---|---|
Jdbc Driver Name |
raytion.connector.agent.sql.connections.connections.jdbcDriverDisplayName |
Name of the JDBC Driver for the database. |
Jdbc Custom Driver Class |
raytion.connector.agent.sql.connections.connections.customJdbcDriverClass |
Name of the JDBC Driver Class if none of the preconfigured drivers is used. |
Jdbc Connection Uri |
raytion.connector.agent.sql.connections.connections.connectionUri |
URI for database connection. |
Jdbc Connection Username |
raytion.connector.agent.sql.connections.connections.username |
Username for the database connection. |
Jdbc Connection Password |
raytion.connector.agent.sql.connections.connections.password |
Password for database connection. |
Content Query Settings
To then crawl content from this connection, the following content query properties are mandatory:
Name |
Property |
Description |
Query Type |
raytion.connector.agent.sql.connections.connections.contentQueries.type |
Decides a how to query data from the database. * If you are unsure which option is best for your scenario then use ‘Two Stage Single Row Querying’. |
ID Column |
raytion.connector.agent.sql.connections.connections.contentQueries.idColumn |
Name of the column whose values are used as IDs. |
Depending on your Query Type the following properties are also mandatory:
Single Stage Querying
Name |
Property |
Description |
SQL Query |
raytion.connector.agent.sql.connections.connections.contentQueries.query |
The SQL query which returns the data to be indexed. |
Two Stage Batched Querying
Name |
Property |
Description |
SQL Content ID Query |
raytion.connector.agent.sql.connections.connections.contentQueries.idsQueryBatched |
The SQL query which returns the IDs of all the rows to be indexed. e.g. SELECT id FROM customer |
SQL Content Query by IDs |
raytion.connector.agent.sql.connections.connections.contentQueries.queryByIdsBatched |
SQL which queries rows based on IDs. "
Use the Placeholder |
Query Batch Size |
raytion.connector.agent.sql.connections.connections.contentQueries.queryBatchSize |
The number of rows to be fetched by a single query. |
ID Column |
raytion.connector.agent.sql.connections.connections.contentQueries.idColumn |
The column that will provide the IDs in the first query, these IDs will then be substituted into the |
Two Stage Single Row Querying
Name |
Property |
Description |
SQL Content ID Query |
raytion.connector.agent.sql.connections.connections.contentQueries.idsQuerySingleRow |
The SQL query which returns the IDs of all the rows to be indexed. e.g. SELECT id FROM customer |
SQL Content Query by ID |
raytion.connector.agent.sql.connections.connections.contentQueries.queryByIdSingleRow |
SQL which queries a single row given an ID. Use the Placeholder |
ID Column |
raytion.connector.agent.sql.connections.connections.contentQueries.idColumn |
The column that will provide the IDs in the first query, these IDs will then be substituted into the |
Connection Pooling Settings (Optional)
Configuration options for pooling settings of a connection. These settings are only considered when the flag Set Optional Connection Pooling Parameters is activated.
| Name | Property | Description |
|---|---|---|
Set Optional Connection Pooling Parameters |
raytion.connector.agent.sql.connections.connections.setOptionalParameters |
Flag to enable optional parameters for the connection pooling. |
Pool Connection Timeout |
raytion.connector.agent.sql.connections.connections.connectionTimeout |
Maximum time that a client will wait for a connection from the pool. |
Idle Timeout |
raytion.connector.agent.sql.connections.connections.idleTimeout |
Maximum time that a connection is allowed to sit idle in the pool. |
Pool Connection Keep Alive Time |
raytion.connector.agent.sql.connections.connections.keepAliveTime |
The interval in which pool connections will be tested for aliveness, thus keeping them alive by the act of checking. Deactivated if set to 0. |
Maximum Pool Connection Lifetime |
raytion.connector.agent.sql.connections.connections.maxLifetime |
The maximum lifetime of a connection in the pool. |
Minimum Idle Pool Connections |
raytion.connector.agent.sql.connections.connections.minIdle |
The minimum number of idle connections in the pool to maintain. |
Maximum Pool Connections |
raytion.connector.agent.sql.connections.connections.maxPoolSize |
The maximum number of connections in the pool. |
SQL Select Rate |
raytion.connector.agent.sql.connections.connections.maxSelectsPerSecond |
Maximum rate at which SQL will be executed against the database. A value of '-1' is equivalent to no limit. |
Content Query Column Settings (Optional)
Configuration Options for optional columns of a Content Query.
Only available with Query Type Single Stage Querying.
Group Column
| Name | Property | Description |
|---|---|---|
Set Group Column |
raytion.connector.agent.sql.connections.connections.contentQueries.setGroupColumn |
Flag to enable a group column for the query. A group column groups the results of a query that have the same value in this given column. The results of a group are aggregated into one item by concatenating the values of a column into a comma separated list of these values. If the values of a column are binary data, then only the first value is taken. |
Group Column |
raytion.connector.agent.sql.connections.connections.contentQueries.groupColumn |
Name of the column which is used for a GROUP_BY query. This column must not be the same as Content Column or ID Column. |
Column to Metadata Field Mapping
To define which column of the query should be considered for the value of a metadata field, mappings from a column name to a metadata field can be configured:
| Name | Property | Description |
|---|---|---|
Column Name |
raytion.connector.agent.sql.connections.connections.contentQueries.columnMappings.columnName |
The column of the query whose values should be mapped to the metadata field. |
Metadata Field |
raytion.connector.agent.sql.connections.connections.contentQueries.columnMappings.metadataField |
The metadata field to which the value of the column should be mapped. |
Here mappings for the following metadata fields can be defined whereas only one mapping per field is allowed:
| Metadata Field | Remark |
|---|---|
Content |
|
Title |
|
Item Type |
|
Mime Type |
|
File Extension |
|
Preview URL |
It is expected that the column’s values are strings in proper URL format. |
Click URL |
It is expected that the column’s values are strings in proper URL format. |
Keywords |
It is expected that the column’s values are a comma separated list of strings. |
Languages |
It is expected that the column’s values are a comma separated list of strings. |
Author |
|
Contributors |
It is expected that the column’s values are a comma separated list of strings. |
Created Date |
It is expected that the column’s values are timestamps with time zones. |
Last-Modified Date |
It is expected that the column’s values are timestamps with time zones. |
Breadcrumbs |
It is expected that the column’s values are a comma separated list of strings in proper URL format. |
Microsoft Sharepoint Configuration
CrawlTrigger Service Settings
CrawlTrigger Service settings for fetching Submissions to SharePoint.
| Name | Property Key | Description |
|---|---|---|
Endpoint |
|
Endpoint of the CrawlTrigger Service. |
Content Source Name |
|
Name of the content source configured in SharePoint. |
Domain |
|
User Domain for the Authentication process. |
Username |
|
Username to authenticate to CrawlTrigger Service. |
Password |
|
Password to authenticate to CrawlTrigger Service. |
Connection Timeout |
|
Specifies the amount of time, in milliseconds, that the consumer will attempt to establish a connection before it times out. 0 is infinite. |
Receive Timeout |
|
Specifies the amount of time, in milliseconds, that the consumer will wait for a response before it times out. 0 is infinite. |
Crawl Trigger Size |
|
The size of cached Submissions to trigger a BCS Crawl. |
Crawl Interval |
|
Duration interval for checking if a crawl has to be triggered. |
Inserting Idle Duration |
|
Time duration that no other Submission is inserted to cache. After this time, a Crawl will be triggered even if the Trigger Size was not exceeded. |
Submission Repository Limit Settings (Optional)
Settings for limiting the Submission number the Repository can have, so that the used disc space is limited.
| Name | Property Key | Description |
|---|---|---|
Max. Unprocessed Submissions |
|
Maximum unprocessed Submissions inside the repository. If Submissions exceed this number then insertions are blocked until other Submissions are removed from repository. |
Max. Insertion Waiting Time |
|
Maximum insertion waiting time in case the Repository reaches the maximum size limit. After this duration the Submission will be rejected and marked as failed from the Connector. |
Repository Size Retrieval Interval |
|
Duration interval in which the connector retrieves the current number of unprocessed Submissions in the Repository. |
Submission Repository Sanitize Settings (Optional)
Settings for sanitize service of the Submission repository.
| Name | Property Key | Description |
|---|---|---|
Submission Expiration Time |
|
Max. Duration that submissions will remain in the repository in case SharePoint does not request them. |
Sanitize Interval |
|
Duration interval for cleaning up the Submission repository from expired Submissions. |
General Configuration
Database Configuration
| Name | Property Key | Description |
|---|---|---|
Configuration Type |
|
Supported are PostgreSQL, MS SQL Server, and JDBC URL configuration. |
PostgreSQL
| Name | Property Key | Description |
|---|---|---|
Host |
|
Domain name or IP address of the database server. |
Port |
|
Specifies the port number PostgreSQL is listening on, default is 5432. |
Database Name |
|
Name of the database. |
Username |
|
Username to authenticate with. The regarding user has to have read and write permissions to the database. |
Password |
|
Password of the configured database user. |
Add Custom Parameter |
|
Enables the configuration of additional parameters. |
MS SQL Server
| Name | Property Key | Description |
|---|---|---|
Host |
|
Domain name or IP address of the database server. Instance to connect to on server can be specified by '‹server_name>|<instance_name>'. |
Port |
|
Specifies the port number MS SQL Server is listening on, default is 1433. |
Database Name |
|
Name of the database. |
Username |
|
Username to authenticate with. The regarding user has to have read and write permissions to the database. |
Password |
|
Password of the configured database user. |
Add Custom Parameter |
|
Enables the configuration of additional parameters. |
JDBC URL
| Name | Property Key | Description |
|---|---|---|
URL |
|
JDBC URL for the target database. Out of the box, the connector will use H2 file database. For productive usage, use PostgreSQL specifying the URL in format: |
Username |
|
Database Username to read and write to database. |
Password |
|
Database Password for the specified user |
Traversal Configuration
| Name | Property Key | Description |
|---|---|---|
Traversal History Length |
|
Max. number of traversals to store in the history. Once the limit is exceeded, the connector will automatically remove oldest entries in the history. (default: 100) |
Include Checksum |
|
If enabled, any changes made to the pipeline e.g. configuration, the subsequent incremental run triggers a refeed of all items. |
Change Processing Interval |
|
Interval between change processing traversals. |
Resume on Start |
|
If enabled, any traversals in paused state are automatically resumed after the connector restart. Otherwise, the traversal remains in paused state. |
Number of Traversal Workers |
|
Number of workers to execute the traversal in parallel. Increasing this value might improve the performance, but will footprint higher memory consumption. It is recommended to keep the default value. (default: 10) |
Traversal Job Poll Interval |
|
Interval between the workers to be triggered to fetch and process the next tasks. (default: 10ms) |
Completion Timeout |
|
If the search engine indexes the items asynchronously, there might be some processing still in-flight during the completion process of a traversal. This value specifies the timeout value until all asynchronous callbacks are expected to return before completing the traversal. (default: 10m) |
Executor Size |
|
The executor size restricts the max. number of concurrent running traversals. |
Queue Size |
|
The queue size restricts the max. number of queued traversals. If the value is exceeded, the connector rejects further traversal requests until the queue size is below the configured size. |
Traversal Jobs
| Name | Property Key | Description |
|---|---|---|
Job Timeout Check Frequency |
|
Configures how often the connector checks for timed out jobs. |
Job Timeout |
|
The duration for which a job can stay idle before it is timed out. |
Job Cache Size |
|
Max. cache size of Jobs waiting for processing in memory. When cache is empty, next batch is fetched. |
Security Configuration
Request Restriction Settings
| Name | Property Key | Description |
|---|---|---|
Accepted Host Names |
|
A list of domains (+ port) that are allowed as host names in the headers of HTTP requests
to the connector. This means that you can access the connector only via a URL that
employs one of the configured domains. Each entry must have the format
If no domains are configured (the default), then you can use any domain via which the connector host is reachable. |
Principal Aliaser Configuration
Principal Aliasing is applied on user information as part of Content ACL processing during Content Synchronization and Principal processing during Principal Synchronization. It’s purpose is to map external source system user to the corresponding user in search engines domain. You can configure a list of aliasers in the connector which will be applied in sequence and in order on user ACEs and user principals. The Connector supports following custom aliasing mechanism.
Custom Aliaser Disabled
If the Custom Aliaser checkbox is not selected, the connector will process user information on ACE and user principals unchanged to Search Engine. If all relevant users in the source system can be found with the same identifier in the search engine, this setup is sufficient to reflect the same secure search experience in the search engine as defined by the policy in the source system. The connector uses this option as default to process user information.
Custom Aliaser Enabled
If custom aliasing is enable then there are four types of aliaser avaialble:
Simple XML Table Aliaser
Static mapping table which can be uploaded as XML file. The connector uses the uploaded file as lookup table to map a user in the source system to a user in the search engine. Users missing a record in the file will be dropped from the ACE and during Principal Synchronization. This option is only recommended for environment with a manageable amount of users as for each user the corresponding mapping entry needs to be specified in the file.
| Name | Description |
|---|---|
XML Mapping File |
Browse and upload or drag and drop. |
Sample XML mapping file:
<?xml version="1.0" encoding="UTF-8"?>
<storeddata>
<entry keyValue="user1">user1@raytion.com</entry>
<entry keyValue="user2">user2@raytion.com</entry>
<entry keyValue="user3">user3@raytion.com</entry>
</storeddata>
Regex Replacer Aliaser
Regex Replacer Aliaser computes aliases based on a regular expression. Principals that match the regular expression are replaced by the Substitution String.
| Name | Property Key | Description |
|---|---|---|
Pattern |
|
The regular expression to match, this is the part that will be replaced. If braces (…) are used in the pattern then the matched value can be retrieved using $1 |
Substitute String |
|
String to replace the matching part of the find string. Matched value is accessed by employing $1 |
Regex Extractor Aliaser
Regex Extractor Aliaser computes aliases based on a regular expression. Principals that match the regular expression are inserted into the Insert-Into String.
| Name | PropertyKey | Description |
|---|---|---|
Pattern |
|
The regular expression to match, this is the part that will be inserted into the new value. If braces (…) are used in the pattern then the matched value can be retrieved using $$ |
Insert-Into String |
|
String to replace the matching part of the pattern. Matched value is accessed by employing $$ |
LDAP Aliaser
Ldap Aliaser searches for an LDAP entry with the requested name in the input value and returns the specified output attribute.
| Name | Property Key | Description |
|---|---|---|
Host |
|
Fully Qualified Domain Name of an LDAP server |
Port |
|
Port to use for LDAP connection, defaults are 389/636 or (recommended) 3268/3269 for simple/SSL |
AccountDN |
|
AccountDN for bind to LDAP |
Password |
|
Password part of credentials |
Input Field |
|
The Active Directory attribute name for this equality filter |
Search Root DN |
|
Distinguished Name of the subtree which is searched. The smaller the subtree the better the performance but the higher the chance of encountering principals which are not part of this subtree |
Output Field |
|
Attribute that should be returned in result entries |