chanro/magento2-vsbridge-indexer

安装: 6

依赖者: 0

建议者: 0

安全: 0

类型:magento2-component

dev-master 2019-09-04 01:05 UTC

This package is not auto-updated.

Last update: 2024-09-26 01:41:07 UTC


README

Branch stable Branch Develop Branch Develop

此项目是Vue Storefront(第一个用于电子商务的渐进式Web应用程序)的原生Magento2数据索引器。[Vue Storefront](https://github.com/DivanteLtd/vue-storefront) - 首个用于电子商务的渐进式Web应用程序。它将所有必需的产品、类别和静态信息填充到ElasticSearch数据索引中,以使Vue Storefront能够工作。

关于mage2vuestorefront项目的说明:此原生索引器以与[mage2vuestorefront](https://github.com/DivanteLtd/mage2vuestorefront)相同的格式更新ElasticSearch索引。我们的目的是加快索引过程并使其更可靠。使用原生索引器,我们能够利用Magento2 ORM和事件来优化索引过程。如果您在索引性能方面遇到任何问题,请务必使用此模块而不是mage2vuestorefront。目前两个项目都受到支持。

Vue Storefront是一个独立的PWA店面,可以连接到任何电子商务后端(例如,Magento、Pimcore、Prestashop或Shopware),通过API连接。

## 视频演示 查看它是如何工作的!https://vuestorefront.io/(Vue Storefront与Pimcore或Magento2集成)注册演示。

概述

安装/入门

  • 使用composer安装
    composer config repositories.divante vcs https://github.com/DivanteLtd/magento2-vsbridge-indexer
    composer require divante/magento2-vsbridge-indexer:dev-master
    

安装/入门 - MSI支持

  • 使用composer从develop分支更改安装
    composer config repositories.divante vcs https://github.com/DivanteLtd/magento2-vsbridge-indexer
    composer require divante/magento2-vsbridge-indexer:dev-develop
    
  • 安装也支持MSI的第二模块
    composer config repositories.divante-msi vcs https://github.com/DivanteLtd/magento2-vsbridge-indexer-msi
    composer require divante/magento2-vsbridge-indexer-msi:dev-develop
    

    不支持完全,只有少数字段导出到ES。从库存索引器:-- qty => qty, -- is_salable => is_in_stock/stock_status

示例

网站1

{
    "sku": "24-MB01",
    "stock": {
      "qty": 100,
      "is_in_stock": false,
      "stock_status": 0
    }
}

网站2

{
    "sku": "24-MB01",
    "stock": {
      "qty": 73,
      "is_in_stock": true,
      "stock_status": 1
    }
}
php bin/magento setup:upgrade
  • 在Magento管理面板中配置此模块并运行完全索引

配置

转到新的“索引器”部分(商店 → 配置 → Vuestorefront → 索引器),现在在Magento面板中可用,并在以下区域进行配置

  1. 常规设置 → 启用VS Bridge

    启用将数据导出到Elasticsearch。默认情况下,索引是禁用的。

  2. 常规设置 → 重新索引的商店列表

    选择必须将数据导出到ElasticSearch的商店。默认情况下,选择商店0到1。为每个商店视图创建一个新的、独立的ElasticSearch索引。

  3. Elasticsearch客户端

    配置与ElasticSearch的连接。提供主机、端口,并设置登录和密码(可选)。

  4. 索引设置

    批量索引大小 → 选择您打算通过它向ElasticSrearch发送数据的包的大小(根据项目,您可能需要根据产品数量、属性、可配置产品的变体等调整包大小)。默认批量索引大小设置为1000。

    索引名称前缀 → 定义ElasticSearch索引的前缀。面板允许只向产品名称添加前缀,例如:“vue_storefront_catalog”。为每个商店(商店视图)索引名称基于定义的前缀和ID或商店代码生成。不能创建别名。例如:当我们定义以下索引:“vue_storefront_catalog_1”、“vue_storefront_catalog_2”、“vue_storefront_catalog_3”。重要:更新此配置对于VSF和VSF-API至关重要(在整个配置过程的开始处进行更改)。

    索引标识符 → 定义要附加到ElasticSearch索引的唯一商店标识符。默认值为ID,将商店ID附加到索引名称,例如:“vue_storefront_catalog_1”。您可以选择将其更改为商店代码,这将向索引名称添加商店代码,例如:“vue_storefront_catalog_storecode”。

    使用商店ID的示例

    VSF配置(基于默认索引前缀名称:vue_storefront_magento)

     "elasticsearch": {
       "httpAuth": "",
       "host": "localhost:8080/api/catalog",
       "index": "vue_storefront_magento_1" //index for store view with id 1
     }
    

    VSF-API配置

       "elasticsearch": {
         "host": "localhost",
         "port": 9200,
         "user": "elastic",
         "password": "changeme",
         "indices": [
           "vue_storefront_magento_1" //index for store view with id 1
         ],
    

    使用店铺代码的示例

    VSF配置(基于默认索引前缀名称:vue_storefront_magento)

     "elasticsearch": {
       "httpAuth": "",
       "host": "localhost:8080/api/catalog",
       "index": "vue_storefront_magento_en_us" //index for store view with code "en_us"
     }
    

    VSF-API配置

       "elasticsearch": {
         "host": "localhost",
         "port": 9200,
         "user": "elastic",
         "password": "changeme",
         "indices": [
           "vue_storefront_magento_en_us" //index for store view with store code "en_us"
         ],
    

  5. Redis缓存设置

    清除缓存→否/是(默认此选项已禁用)

    VSF基础URL→VSF的URL

    使密钥缓存失效→提供与VSF配置中相同的值

    连接超时→默认设置为10秒

  6. 目录设置

    使用目录URL键→默认此选项已禁用。使用Magento URL Key属性为url_key和slug字段(对于产品和分类)。URL键必须是唯一的

    使用Magento URL Key和ID为VSF生成slug→默认slug(和url_key)字段是根据产品/分类的名称和ID生成的

    同步阶梯价格→默认此选项已禁用。用于同步产品阶梯价格。

    要索引的产品类型→默认所有产品都将导出到ElasticSearch。此选项允许选择应导出的特定产品类型。

更新配置后,您可以运行索引。还建议使用CURL查询ElasticSearch,以确保通信正常。

运行完整索引

运行完整索引有两种方法

  1. 新索引的索引

通常,可以按任何顺序运行此索引。值得首先从taxrule开始,因为它是最快的。

php bin/magento indexer:reindex vsbridge_taxrule_indexer
php bin/magento indexer:reindex vsbridge_attribute_indexer
php bin/magento indexer:reindex vsbridge_product_indexer
php bin/magento indexer:reindex vsbridge_category_indexer
php bin/magento indexer:reindex vsbridge_cms_block_indexer
php bin/magento indexer:reindex vsbridge_cms_page_indexer
  1. 所有索引的重新索引

适用于较小数据库。对于大型数据库,最好手动运行命令。

php bin/magento indexer:reindex

php bin/magento vsbridge:reindex --store=[STORE_ID]
php bin/magento vsbridge:reindex --store=1

注意:如果禁用了带有ElasticSearch的Docker,索引器将显示错误:“您的集群中未找到活动节点”。

保存时更新模式

保存时更新模式适用于以下操作

  • 保存/删除产品
  • 保存/删除分类
  • 保存/删除静态块
  • 保存/删除静态页面
  • 保存/删除属性(删除属性会导致vsbridge产品索引器显示“无效”状态)。

按计划更新模式

按计划更新模式观察相应表中的更改,并在大多数情况下可能更相关。这是任何大型商店的默认模式。

兼容性

已测试的Vue Storefront >= 1.4.4模块:-- Magento Community版本2.2.7。它应在Magento 2.2.6及以上版本上无任何问题运行。-- Magento Enterprise版本2.3.0。桥索引器不能安装在任何低于Magento Enterprise版本的版本上。

未在2.3版本上测试此模块。

待办事项

  • 检查Vue Storefront - Magento 2 Indexer bridge for Magento 2.3(用于Commerce和企业版本)。
  • 添加MSI支持
  • 添加对发送到ElasticSearch的属性(产品、分类)的限制
  • 添加对发送到ElasticSearch的分类的限制,通过添加新的配置:仅发送菜单中可见的分类,仅发送活动分类 @Agata
  • 添加一个新的命令,允许启用/禁用以下索引:CMS块、CMS页面。
  • 添加一个选项来排除默认的Magento索引(这不会影响新索引操作)