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.
* Do not use variable, instead provide result to method call.
* Do not provide public method which is not part of API. Otherwise one
might use it in custom PHP code and switch connection later on. Then the
method call will no longer work.
With V6 of elasticsearch the meaning / handling of index and type has
changed, and it will change further in the future.
We therefore move code to own classes and adjust / refactor calling
code.
We had some features in 7.6 support which we didn't merge up yet.
Mostly very small bug fixes or more helpful logging and processing of
elasticsearch options.
But also adding images of content elements while indexing pages.
As some search services, like elasticsearch, allow generation of a
string that should be displayed in frontend, we provide a new getter for
that.
The old existing name can be a fallback in custom implementations.
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 we need no external service.
Each developer can fully run all tests and cgl on local environment.
Also this integrated better into IDEs and editors.
As TypoScript does not provide a way to configure key less options, we
use a comma separated list and explode them to stay compatible with
elasticsearch.