dachcom-digital / dynamic-search-index-provider-opensearch
Installs: 7 243
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 10
Forks: 2
Open Issues: 1
Type:dynamic-search-provider-bundle
Requires
- dachcom-digital/dynamic-search: ^3.0 || ^4.0
- opensearch-project/opensearch-php: ^2.1
- pimcore/pimcore: ^11
- smoench/opensearch-dsl: ^1.2
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 opensearch index service.
Release Plan
Installation
"require" : { "dachcom-digital/dynamic-search" : "~3.0.0", "dachcom-digital/dynamic-search-index-provider-opensearch" : "~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:
Add Bundle to bundles.php
:
<?php return [ \DsOpenSearchBundle\DsOpenSearchBundle::class => ['all' => true], ];
Basic Setup
dynamic_search: enable_pimcore_element_listener: true context: default: index_provider: service: 'opensearch' options: index: identifier: 'default' hosts: - 'opensearch:9200' settings: [] credentials: # optional, empty array username: '%OS_USERNAME%' password: '%OS_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: 'opensearch_search' normalizer: service: 'os_document_raw_normalizer' paginator: enabled: false search: service: 'opensearch_search' use_frontend_controller: true options: result_limit: 10 normalizer: service: 'os_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: opensearch_search
Available Options:
Multi Search
Identifier: TBD
Available Options: none
Filter
TBD
Output Normalizer
A Output Normalizer can be defined for each output channel.
os_document_raw_normalizer
Use this normalizer to get the untouched opensearch response.
Available Options:
Currently none
os_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:os: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!