lupasearch/sylius-lupasearch-plugin

安装: 9

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:sylius-plugin

This package is auto-updated.

Last update: 2024-09-16 12:34:44 UTC


README

LupaSearch Sylius 插件可以无缝地将您的 Sylius 商店与 LupaSearch SaaS 平台集成。此插件处理产品数据和搜索配置的同步,确保您的商店的搜索功能始终是最新的并针对性能进行了优化。

兼容性

插件兼容 Sylius 1.12.* 和 1.13.*

安装

注意:在安装之前,请通过 support@lupasearch.com 联系我们的支持团队,以获取必要的凭证和入职信息。

要安装 LupaSearch 插件,请按照以下步骤操作

  1. 使用 Composer 安装捆绑包

    composer require lupasearch/sylius-lupasearch-plugin
  2. 打开您的 Sylius 项目的 bundles.php 文件,位于项目 config 目录中。

  3. 在文件末尾添加以下行

    // config/bundles.php
    
    return [
        // ... other bundles ...
    
        LupaSearch\SyliusLupaSearchPlugin\LupaSearchSyliusLupaSearchPlugin::class => [
            "all" => true,
        ],
    ];
  4. 更新架构

    php bin/console doctrine:migrations:migrate
  5. 清除缓存

    php bin/console cache:clear

配置

要开始使用 LupaSearch,您首先需要对其进行配置。

环境变量

# LupaSearch environment variables
LUPASEARCH_USER_EMAIL=
LUPASEARCH_USER_PASSWORD=
LUPASEARCH_INDEX_ID=
LUPASEARCH_SEARCH_QUERY_ID=
LUPASEARCH_BATCH_SIZE_FETCH_FROM_DATABASE=100
LUPASEARCH_BATCH_SIZE_SEND=100
LUPASEARCH_MESSENGER_TRANSPORT_DSN=amqp://rabbitmquser:rabbitmqpass@rabbitmq:5672

配置文件

在您的 Sylius 项目的 config/packages 目录中创建一个名为 lupasearch_sylius_lupasearch.yaml 的文件,并包含以下内容

lupa_search_sylius_lupa_search:
    email: "%env(LUPASEARCH_USER_EMAIL)%"
    password: "%env(LUPASEARCH_USER_PASSWORD)%"
    index_id: "%env(LUPASEARCH_INDEX_ID)%"
    search_query_id: "%env(LUPASEARCH_SEARCH_QUERY_ID)%"
    export:
        batch_size_fetch_from_database: "%env(int:LUPASEARCH_BATCH_SIZE_FETCH_FROM_DATABASE)%"
        batch_size_send: "%env(int:LUPASEARCH_BATCH_SIZE_SEND)%"

此外,您还需要将以下环境变量添加到您的 .env 文件中,变量名称可能根据您的需求有所不同,但应与 lupasearch_sylius_lupasearch.yaml 文件中的相同。

用法

此插件为 Sylius 项目提供 LupaSearch 服务集成。它提供了一些命令来同步您的数据与 LupaSearch。

更新标签

lupasearch:facets:update 命令用于将您的标签与 LupaSearch 同步。此命令从您的 Sylius 项目获取所有属性和选项,并将它们作为标签发送到 LupaSearch。

要执行此操作,请在您的终端中使用以下命令

bin/console lupasearch:facets:update

此命令可以连接到 cron 作业,以确保您的标签始终与您的 Sylius 项目保持最新。例如,您可以设置一个 cron 作业在午夜运行此命令。

❗ 请注意,要使此命令正常工作,您的搜索查询中至少需要有一个标签。

导出文档

lupasearch:documents:export 命令用于将所有启用的产品变体作为文档导出到 LupaSearch。此命令从您的 Sylius 项目获取所有启用的产品变体,并将它们发送到 LupaSearch。要执行此操作,请在您的终端中使用以下命令

bin/console lupasearch:documents:export

此命令可以在夜间导入 Sylius 项目后运行一次,以确保所有产品变体都导出到 LupaSearch。

❗ 请注意,当使用 CLI(例如,Sylius 目录导入)时,您应在 LupaExportContext 中将 isQueueForExport() 设置为 false。这将确保产品变体不会被放入导出到 LupaSearch 的队列中。相反,一个好的做法是在导入完成后运行 lupasearch:documents:export 命令。

开始文档导出

lupasearch:documents:export:initiate 命令用于从数据库中获取所有已排队的目录,并将相应的变体放入消息队列以导出到 Lupa。

要执行此操作,请在您的终端中使用以下命令

bin/console lupasearch:documents:export:initiate

在您在Sylius项目中更改产品变体后,可以运行此命令。通过请求更新的与产品变体关联的实体(例如通过Sylius管理面板或API),将在KernelFinishRequest完成后与LupaSearch同步。此过程由ProductVariantDispatcherSubscriber类管理。只有当在CLI上下文中(例如夜间导入期间)进行目录更新时,才需要此命令。

❗请注意,当使用CLI(例如,Sylius目录导入)时,应在LupaExportContext中将isQueueForExport()设置为false。这将确保产品变体不会被放入队列以导出到LupaSearch。相反,一个良好的做法是在导入完成后运行lupasearch:documents:export:initiate命令。

❗目前,插件仅限于在config/packages/doctrine.yaml配置文件中使用naming_strategy: doctrine.orm.naming_strategy.underscore设置才能正常工作。