search_core/Documentation/source/configuration.rst
Daniel Siepmann 70e9d07b7e
CLEANUP: Documentation
* Add some links to Github issues
* Fix some typos
* Remove some warnings
2016-12-16 12:55:23 +01:00

4.3 KiB

Configuration

The extension offers the following configuration options through TypoScript. If you overwrite them through setup make sure to keep them in the module area as they will be accessed from backend mode of TYPO3. Do so by placing the following line at the end:

module.tx_searchcore < plugin.tx_searchcore

We will use references inside the extension to make the above unnecessary in the future.

Currently no constants are available, but this will change in the near future to make configuration easier.

The structure is following TYPO3 Extbase conventions. All settings are placed inside of:

plugin.tx_searchcore.settings

Here is the example default configuration that's provided through static setup:

../../Configuration/TypoScript/setup.txt

Options

The following section contain the different options for e.g. plugin.tx_searchcore.settings.connection or plugin.tx_searchcore.settings.index.

Warning

The structure will change as we need to support multiple indexer and connections. The options will stay the same.

For further information take a look at 31.

connection

Holds settings regarding the connection to search service like Elasticsearch or Solr.

Configured as:

plugin {
    tx_searchcore {
        settings {
            connection {
                // the settings
            }
        }
    }
}

host

Used by: Elasticsearch.

The host, e.g. localhost or an IP where the search service is reachable from TYPO3 installation.

Example:

plugin.tx_searchcore.settings.connection.host = localhost

port

Used by: Elasticsearch.

The port where search service is reachable. E.g. default 9200 for Elasticsearch.

Example:

plugin.tx_searchcore.settings.connection.port = 9200

index

Holds settings regarding the indexing of TYPO3 records to search service.

Configured as:

plugin {
    tx_searchcore {
        settings {
            index {
                // the settings
            }
        }
    }
}

allowedTables

Used by: TcaIndexer.

Defines which TYPO3 tables are allowed to be indexed. Only white listed tables will be processed through Command Line Interface and Hooks.

Contains a comma separated list of table names. Spaces are trimmed.

Example:

plugin.tx_searchcore.settings.index.allowedTables = tt_content, fe_users

rootLineBlacklist

Used by: TcaIndexer.

Defines a blacklist of page uids. Records below any of these pages, or subpages, are not indexed. This allows you to define areas that should not be indexed. The page attribute No Search is also taken into account to prevent indexing records from only one page without recursion.

Contains a comma separated list of table names. Spaces are trimmed.

Example:

plugin.tx_searchcore.settings.index.rootLineBlacklist = 3, 10, 100

Also it's possible to define some behaviour for the different document types. In context of TYPO3 tables are used as document types 1:1. It's possible to configure different tables. The following options are available:

additionalWhereClause

Used by: TcaIndexer.

Add additional SQL to where clauses to determine indexable records from the table. This way you can exclude specific records like tt_content records with specific CType values or something else. E.g. you can add a new field to the table to exclude records from indexing.

Example:

plugin.tx_searchcore.settings.index.tt_content.additionalWhereClause = tt_content.CType NOT IN ('gridelements_pi1', 'list', 'div', 'menu')

Attention

Make sure to prefix all fields with the corresponding table name. The selection from database will contain joins and can lead to SQL errors if a field exists in multiple tables.