A Index Storage Extension for Pimcore Dynamic Search. Store data with the elasticsearch index service.
OTHER License
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
Copyright: DACHCOM.DIGITAL For licensing details please visit LICENSE.md
Before updating, please check our upgrade notes!