An index storage extension for Pimcore Dynamic Search. Store data with the elasticsearch index service.
Release | Supported Pimcore Versions | Supported Symfony Versions | Release Date | Maintained | Branch |
---|---|---|---|---|---|
3.x | 11.0 |
^6.2 |
28.09.2023 | Feature Branch | master |
2.x | 10.0 - 10.6 |
^5.4 |
19.12.2021 | No | 2.x |
1.x | 6.6 - 6.9 |
^4.4 |
18.04.2021 | No | 1.x |
"require" : {
"dachcom-digital/dynamic-search" : "~3.0.0",
"dachcom-digital/dynamic-search-index-provider-elasticsearch" : "~3.0.0"
}
You need to install / enable the Dynamic Search Bundle first. Read more about it here. After that, proceed as followed:
Add Bundle to bundles.php
:
<?php
return [
\DsElasticSearchBundle\DsElasticSearchBundle::class => ['all' => true],
];
dynamic_search:
enable_pimcore_element_listener: true
context:
default:
index_provider:
service: 'elasticsearch'
options:
index:
identifier: 'default'
hosts:
- 'elasticsearch:9200'
settings: []
credentials: # optional, empty array
username: '%ES_USERNAME%'
password: '%ES_PASSWORD%'
analysis:
analyzer:
keyword_analyzer:
tokenizer: keyword
type: custom
filter:
- lowercase
- asciifolding
- trim
char_filter: []
edge_ngram_analyzer:
tokenizer: edge_ngram_tokenizer
filter:
- lowercase
edge_ngram_search_analyzer:
tokenizer: lowercase
tokenizer:
edge_ngram_tokenizer:
type: edge_ngram
min_gram: 2
max_gram: 5
token_chars:
- letter
output_channels:
suggestions:
service: 'elasticsearch_search'
normalizer:
service: 'es_document_raw_normalizer'
paginator:
enabled: false
search:
service: 'elasticsearch_search'
use_frontend_controller: true
options:
result_limit: 10
normalizer:
service: 'es_document_source_normalizer'
paginator:
enabled: true
max_per_page: 10
Name | Default Value | Description |
---|---|---|
index |
[] | |
analysis |
[] |
Available Index Fields:
Name | Description |
---|---|
dynamic |
TBD |
explicit |
TBD |
This channel service just creates a simple DSL search class.
You're able to modify the search by hooking via dynamic_search.output_channel.modifier.action
into the post_query_build
action.
Identifier: elasticsearch_search
Available Options:
Name | Default Value | Description |
---|---|---|
result_limit |
10 |
Identifier: TBD
Available Options: none
TBD
A Output Normalizer can be defined for each output channel.
Use this normalizer to get the untouched elasticsearch response.
Available Options:
Currently none
Use this normalizer to get all document values (_source
) stored in response.hits.hits[]
Available Options:
Currently none
Use this command to rebuild a index by passing your context name with argument -c
Attention! By executing this command, the index gets removed and all data will be lost!
$ bin/console dynamic-search:es:rebuild-index -c default
DACHCOM.DIGITAL AG, Löwenhofstrasse 15, 9424 Rheineck, Schweiz
dachcom.com, dcdi@dachcom.ch
Copyright © 2024 DACHCOM.DIGITAL. All rights reserved.
For licensing details please visit LICENSE.md
Before updating, please check our upgrade notes!