dachcom-digital / dynamic-search-index-provider-elasticsearch
Installs: 40 055
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 10
Forks: 2
Open Issues: 3
Type:dynamic-search-provider-bundle
Requires
Requires (Dev)
- codeception/codeception: ^5.0
- codeception/module-symfony: ^3.1
- phpstan/phpstan: ^1.0
- phpstan/phpstan-symfony: ^1.0
- symplify/easy-coding-standard: ^9.0
README
An index storage extension for Pimcore Dynamic Search. Store data with the elasticsearch index service.
Release Plan
Installation
"require" : { "dachcom-digital/dynamic-search" : "~3.0.0", "dachcom-digital/dynamic-search-index-provider-elasticsearch" : "~3.0.0" }
Dynamic Search Bundle
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], ];
Basic Setup
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
Provider Options
Index Fields
Available Index Fields:
Output Channel Services
Search
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:
Multi Search
Identifier: TBD
Available Options: none
Filter
TBD
Output Normalizer
A Output Normalizer can be defined for each output channel.
es_document_raw_normalizer
Use this normalizer to get the untouched elasticsearch response.
Available Options:
Currently none
es_document_source_normalizer
Use this normalizer to get all document values (_source
) stored in response.hits.hits[]
Available Options:
Currently none
Commands
Rebuild Index Mapping
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
License
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
Upgrade Info
Before updating, please check our upgrade notes!