Configuration

Installation wide configuration is handled inside of the extension manager. Just check out the options there, they all have labels.

Everything else is configured 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 for indexing. Do so by placing the following line at the end:

module.tx_searchcore < plugin.tx_searchcore

Todo

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

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 include:

Static TypoScript Constants
plugin {
    tx_searchcore {
        settings {
            connections {
                elasticsearch {
                    host = localhost
                    port = 9200
                }
            }

            indexing {
                tt_content {
                    additionalWhereClause = tt_content.CType NOT IN ('gridelements_pi1', 'list', 'div', 'menu', 'shortcut', 'search', 'login') AND tt_content.bodytext != ''
                }

                pages {
                    additionalWhereClause = pages.doktype NOT IN (3, 199, 6, 254, 255)
                    abstractFields = abstract, description, bodytext
                }
            }
        }
    }
}
Static TypoScript Setup
plugin {
    tx_searchcore {
        settings {
            connections {
                elasticsearch {
                    host = {$plugin.tx_searchcore.settings.connections.elasticsearch.host}
                    port = {$plugin.tx_searchcore.settings.connections.elasticsearch.port}
                }
            }

            indexing {
                # Not for direct indexing therefore no indexer.
                # Used to configure tt_content fetching while indexing pages
                tt_content {
                    additionalWhereClause = {$plugin.tx_searchcore.settings.indexing.tt_content.additionalWhereClause}
                }

                pages {
                    indexer = Codappix\SearchCore\Domain\Index\TcaIndexer\PagesIndexer
                    additionalWhereClause = {$plugin.tx_searchcore.settings.indexing.pages.additionalWhereClause}
                    abstractFields = {$plugin.tx_searchcore.settings.indexing.pages.abstractFields}
                }
            }

            searching {
                fields {
                    query = _all
                }
            }
        }
    }
}

module.tx_searchcore < plugin.tx_searchcore

Options

The following sections contains the different options grouped by their applied area, e.g. for Connections and Indexer: plugin.tx_searchcore.settings.connection or plugin.tx_searchcore.settings.indexing: