* Add some more checks to remove PHP warnings / notices.
* Adjust code to match CMS 9 API / interfaces.
* Do no longer use "query" but only searchTerm, as query is internal
API.
The configured filter is no longer filtered, it's up to the integrator
to provide proper configuration. Therefore `0` is now a valid and
respected filter value.
Resolves: #163
Instead of hardcoding and tight coupling of relation resolving, we now
provide a dataprocessor instead.
Therefore you need to configure resolving for each indexed type.
This resolves#149 and #147.
Before this change, sys_language_uid was indexed as an empty string, due
to internal used TYPO3 API.
We now skip the configure field which defines language uid. This way you
can build filter based on current language.
Resolves#148
Fetch sys_language_uid from database.
Until now we did not fetch system related fields from database. As there
is now a RemoveProcessor, integrators are able to remove fields.
Also providing this field enables basic multi language support.
Relates: #25
Do not limit integrator in possibilities to configure.
Therefore previously configure facets for a field need to be adjusted to
contain full configuration for elasticsearch. See changelog.
Resolves: #120
Search results are now processed through data processing by search
service. The result will be a SearchResult model from our domain. Also
SearchResult will execute new queries, e.g. from paginate widget,
through SearchService to apply data processing again.
Remove duplicate stub code to trait, to keep own logic and code clean.
This way injects will be resolved inside of processors, enabling
developers to inject dependencies.
We use inject instead of constructor as indexers mostly will change the
constructor and should not need to add the objectmanager.
Resolves: #117
Before data processing was applied for TCA only, through tca table
service.
Now it's applied much later in process and in abstract indexer.
Therefore all indexer will run data processing if configured.
This will be the case if you add a flexform to the plugin with no value.
Then an empty filter is configured and you will not be able to submit a
value for this filter.