dachcom-digital/dynamic-search-index-provider-elasticsearch

v3.0.0 2023-11-07 11:00 UTC

This package is auto-updated.

Last update: 2024-09-03 13:38:24 UTC


README

Software License Latest Release Tests PhpStan

Pimcore 动态搜索的索引存储扩展。[链接](https://github.com/dachcom-digital/pimcore-dynamic-search)。使用 Elasticsearch 索引服务存储数据。

发布计划

安装

"require" : {
    "dachcom-digital/dynamic-search" : "~3.0.0",
    "dachcom-digital/dynamic-search-index-provider-elasticsearch" : "~3.0.0"
}

动态搜索包

首先需要安装/启用动态搜索包。更多关于它的信息[在这里](https://github.com/dachcom-digital/pimcore-dynamic-search#installation)。之后,按照以下步骤进行

将包添加到 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

提供者选项

索引字段

可用的索引字段:

输出通道服务

搜索

此通道服务仅创建一个简单的 DSL 搜索类。您可以通过钩子到 post_query_build 动作来修改搜索。

标识符: elasticsearch_search
可用的选项:

多搜索

标识符: TBD
可用的选项: 无

过滤器

TBD

输出标准化器

可以为每个输出通道定义一个输出标准化器。

es_document_raw_normalizer

使用此标准化器获取未修改的 Elasticsearch 响应。

可用的选项:
目前无

es_document_source_normalizer

使用此标准化器获取所有文档值(_source)存储在 response.hits.hits[] 中。

可用的选项:
目前无

命令

重建索引映射

使用此命令通过传递带有参数 -c 的上下文名称来重建索引。

注意! 执行此命令将删除索引并丢失所有数据!

$  bin/console dynamic-search:es:rebuild-index -c default

版权和许可证

版权:[DACHCOM.DIGITAL](http://dachcom-digital.com)
有关许可详情,请访问[LICENSE.md](https://github.com/dachcom-digital/pimcore-dynamic-search-index-provider-elasticsearch/blob/HEAD/./LICENSE.md)

升级信息

在更新之前,请[检查我们的升级说明]![链接](https://github.com/dachcom-digital/pimcore-dynamic-search-index-provider-elasticsearch/blob/HEAD/./UPGRADE.md)