Solr Configuration

When using the Solr search engine, we need to define what kind of information we should index for each document.
This screen allows you to add fine grained definitions for each attribute you want to index and also how it should be represented in Solr.

In Solr we differ between three main types of storage :

These three types can be combinded.

In addition it is also possible for most attributes to index the ident (either the id or the GUID) for the value and the Path for dimensions. The SOLR representations for these fields will be attributeName__ident,attributeName__guid or attributeName__path.

In many implementations the labels are in more than one language and in those cases all labels with NLS support will be populated into separate fields in Solr. By default, Solr is set up to support Norwegian and English.
It is also possible to add extra value to the indexer by using custom written PL/SQL functions. They can be triggered document-based or for each attribute.

As a rule, you should have only ONE Solr configuration for each search engine and share it between all Solr events populating data to the index.

Properties

This section describes the properties of an Solr configuration, as shown on the corresponding Edit pane tab.

Edit tab

Property Description
Subsystem

Select the appropriate subsystem.

Title

Type a name for the Solr Configuraiton.

Description

Type a description for Solr Configuration.

Search Engine

When you index data to more than one solr instance, you need to define seperate names for the destination. These are logical names, but refer to Installation properties where you define index- and search URLs to the instances. If you define a new search name, Installation properties will be populated by dummy data.

Language

Select a language if you have a single language environment and the index should only handle that specific language. Set the value to blank if you want to index the values in all languages defined in iKnowBase.

Function

A custom function is used to execute your own built-in function to add / remove content before it is sent to the indexer service. (e.g. You want to create a Solr field for sorting where you select an attribute value if it exists, else you use the document timestamp).
The function is executed after the document data is populated. The signature is defined in the Database funtion-section. To add an extra field for indexing, it must be added to the object type ct_solr_rows like this:

p_solr_data.EXTEND;
    p_solr_data (p_solr_data.COUNT) :=
	ot_solr_row (
		'<a name>',
		'<type>',  -- Value can be VALUE_CHAR/DATE/NUMBER/XML/BLOB
		<char-value>,
		<number-value>,
		<date-value>,
		<xml-value>,
		<blob-value>,
		<mimetype>);
Max filesize

Defines maximum size of a binary file to be indexed. Very large files can be time consuming to index and should be avoided.

Path to viewer

Defines where and how the link should be generated when indexed. Default values is retrieved from domain preferences, but can be overridden here.

Path seperator

Defines the seperator used when building path elements from dimensions.

Attribute to index

You can choose between two types of attributes:

  • Document properties: Values from the document itself. The required attributes are already selected when you create a new configuation.
  • Attributes: Regular attributes tagged on the document.
Actions

Delete the parameter by clicking the icon. Mandatory attributes are not possible to delete.

Attribute

Name of the attribute / property.

Source

Document means it’s a document property, Attribute means its a regular attribute on the document.

Datatype

Display the datatype.

Prefix

First part of the name used for the attribute in Solr. For attribute values the full name is generated when you select how to store/index/search the value in Solr. Some document properties are locked and will be named by the same value as the prefix.

Solr Name

The full name in Solr for the attribute.

Search

Select (if available) if you want the value to be searchable.

Index

Select (if available) if you want the value to be indexed.

Store

Select (if available) if you want the value to be stored.

ID

Select (if available) if you want to index and store the Ident of the value. The Solr name will be <prefix>__ident.

GUID

Select (if available) if you want to index and store the GUID of the value. The Solr name will be <prefix>__guid.

Path

Select (if available) if you want to store the path of the value. The Solr name will be <prefix>__path.

Function

A custom function is used to execute your own built-in function to add / remove content before it is sent to the indexer service.
The signature is defined in the Database funtion-section. This function is called if the attribute exists.

Candidates

Property Description
Attributes with usage in Solr Configuration

Displays all selected attributes and how many times they are used by documents. This might indicate if the attribute is a useful indexed attribute. The only available operation you can do is to delete the attribute from the configuration.

Attributes with usage but not in Solr Configuration

Displays all attributes not in the configuration and how many times they are used by documents. This might indicate if the attribute is a useful indexed attribute. The only available operation you can do is to add the attribute to the configuration.

Indexable file formats

Property Description
File formats supported in Solr Configuration

Displays all used file formats in iKnowBase. You can decide if files with this format should be indexed or not.

Bulk operations

Property Description
Select events for bulk operation

Displays all events using the current configuration. You can easily reindex all documents for all events using the configuration, or delete all documents from solr by checking the boxes and then press the desired button.

Cleanup misconfigured changelog entries

The SOLR changelog might have entries originally created by a event or a solr configuration.
If the event definition / solr configuration is deleted or changed, the changelog can ‘come out of sync’. Use cleanup to remove entries without a correct event or solr configuration. The option is only available if such misconfiguration exists.