tandrezone / dynamic-search-index-provider-elasticsearch
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 2
Type:dynamic-search-provider-bundle
Requires
Requires (Dev)
- codeception/codeception: ^4.1
- codeception/module-symfony: ^1.6
- phpstan/phpstan: ^0.12
- phpstan/phpstan-symfony: ^0.12
- symplify/easy-coding-standard: ^9.0
This package is auto-updated.
Last update: 2024-10-19 11:48:41 UTC
README
An index storage extension for Pimcore Dynamic Search. Store data with the elasticsearch index service.
Release Plan
Installation
"require" : { "dachcom-digital/dynamic-search" : "~2.0.0", "dachcom-digital/dynamic-search-index-provider-elasticsearch" : "~2.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:
Enabling via config/bundles.php
:
<?php return [ \DsElasticSearchBundle\DsElasticSearchBundle::class => ['all' => true], ];
Enabling via Kernel.php
:
<?php namespace App; use Pimcore\HttpKernel\BundleCollection\BundleCollection; class Kernel extends \Pimcore\Kernel { public function registerBundlesToCollection(BundleCollection $collection): void { $collection->addBundle(new \DsElasticSearchBundle\DsElasticSearchBundle()); } }
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
Copyright and License
Copyright: DACHCOM.DIGITAL
For licensing details please visit LICENSE.md
Upgrade Info
Before updating, please check our upgrade notes!