Instead of only adding a new class for one static method, we extend the
existing class to only import a single class.
This way we extend the original array utility function collection.
We replace the "flush" and "delete" by "delete" and "deletedocuments"
logic. This makes it more obvious what will happen, without reading the
docs.
Also we kept the logic to always provide the index name, as
we will need them in the future. Due to elasticsearch v6 changes no
types are allowed in the same index in the future. Therefore we need to
make it possible to use different indexes in the future, leading to the
need to provide the document type all the time.
* Add some missing documentation.
* Adjust some documentation due to breaking changes.
* Adjust structure of documentation for easier changelog rendering and
browsing.
As this didn't work on first use. Also no tests are available for this
feature yet.
As we remove the whole feature in a single commit, we can revert this
commit later. This way we can upgrade Elasticsearch and provide this
feature later on.
* Streamline all commands to always accept a comma separated list of
identifiers.
* Adjust phpdoc to reflect this feature and provide help on CLI.
* Refactor code to move recurring logic to own method.
* Provide tests for new feature.
* Add documentation for feature.
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
Allows integrators to configure which fields should be used to produce
field "content" for indexed pages.
Before only "bodytext" was used. This is now configurable and "header"
was added to defaults.
Resolves: #134
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
We use the cache clear hook to index pages whenever the cache was
cleared.
This makes it possible to cover some cases like changing content on a
page. But also if an integrator configures to clear additional pages.
This is limited as we can not handle cache tags at the moment.
Resolves: #131
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
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
This extension currently ships with Elasticsearch integration which is
enabled by default. This behaviour is kept for backwards compatibility.
Still you now have the possibility to disable this integration in
extension manager, just check the "disable" box for elasticsearch.
In the future elasticsearch will become another extension and no default
is shipped with search_core. But for now, as we are still in alpha /
beta phase we keep things together to keep development fast.
Resolves: #111