divante / magento2-vsbridge-indexer

此包已被弃用,不再维护。未建议替代包。

安装数: 133,828

依赖项: 4

建议者: 0

安全: 0

星级: 68

关注者: 30

分支: 90

开放问题: 55

类型:magento2-component

2.0.1 2020-11-10 09:13 UTC

README

Divante AlokaiIndexer 扩展程序适用于 Magento2

保持联系

GitHub Repo stars Twitter Follow YouTube Channel Subscribers Discord

Branch stable Branch Develop

此项目是 Alokai - 首个电子商务渐进式Web应用的本地 Magento2 数据索引器。它使用所有必需的产品、类别和静态信息填充 Alokai 的 ElasticSearch 数据索引,以便 Alokai 运行。

关于 mage2alokai 项目的注意:此本地索引器以与 mage2alokai 相同的格式更新 ElasticSearch 索引。我们的目的是加快索引过程并提高可靠性。使用本地索引器,我们能够利用 Magento2 ORM 和事件来优化索引过程。如果您在索引性能方面遇到任何问题,请务必使用此模块而不是 mage2alokai。目前两个项目都受到支持。

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

视频演示

查看如何使用!https://vuestorefront.io/(Alokai 与 Pimcore 或 Magento2 集成)注册演示。

概述

版本 1.5.0/1.5.1 - 支持别名。

命令 php bin/magento vsbridge:reindex --all 将所有数据重新索引到新索引。它将在最后创建新索引并更新别名。

如果您使用了以前的版本,您必须手动从 ES 中删除索引(由此扩展创建):如果您不这样做,则在运行 "error":{"root_cause":[{"type":"invalid_alias_name_exception","reason":"Invalid alias name [vue_storefront_magento_1], an index exists with the same name as the alias" 时将得到错误。

安装/入门

  • 使用 composer 安装
composer require divante/magento2-vsbridge-indexer
php bin/magento setup:upgrade

安装/入门 - MSI 支持

  • 安装第二个模块以支持 MSI
composer require divante/magento2-vsbridge-indexer-msi

不完全支持,一些字段已导出到 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 配置

在 Magento 控制面板中配置模块并运行完全索引。

在此检查配置

更新 Alokai/Alokai-API 配置

重要:更新 Alokai 和 Alokai-API 中的配置 elasticsearch.indexelasticsearch.indices 是至关重要的。

索引别名前缀 → 定义 ElasticSearch 索引的前缀。面板允许仅向目录名称添加前缀,例如:vue_storefront_catalog。对于每个商店(商店视图),索引名称基于定义的前缀和 ID 或商店代码生成。不能创建别名。
示例:当我们定义以下索引时:vue_storefront_catalog_1vue_storefront_catalog_2、"vue_storefront_catalog_3"。

索引标识符 → 定义用于附加到ElasticSearch索引的唯一存储标识符。默认值为ID,会将商店ID附加到索引名称中,例如:vue_storefront_catalog_1。您可以选择将其更改为商店代码,这样就会将商店代码添加到索引名称中,例如:vue_storefront_catalog_storecode

使用商店ID的示例

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

"vue_storefront_magento_1" - 具有ID 1的商店视图的索引

"elasticsearch": {
  "httpAuth": "",
  "host": "localhost:8080/api/catalog",
  "index": "vue_storefront_magento_1" 
}

Alokai-API配置

  "elasticsearch": {
    "host": "localhost",
    "port": 9200,
    "user": "elastic",
    "password": "changeme",
    "indices": [
      "vue_storefront_magento_1" 
    ],

使用商店代码的示例

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

"vue_storefront_magento_en_us" - 具有代码"en_us"的商店视图的索引

"elasticsearch": {
    "httpAuth": "",
    "host": "localhost:8080/api/catalog",
    "index": "vue_storefront_magento_en_us" 
}

Alokai-API配置

  "elasticsearch": {
    "host": "localhost",
    "port": 9200,
    "user": "elastic",
    "password": "changeme",
    "indices": [
      "vue_storefront_magento_en_us"
    ],
}

运行完整索引

运行完整索引有两种选项

  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
php bin/magento indexer:reindex vsbridge_review_indexer
  1. 所有索引的重新索引

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

php bin/magento indexer:reindex

php bin/magento vsbridge:reindex --store=[STORE ID|STORE CODE]
php bin/magento vsbridge:reindex --store=1

注意:如果禁用了ElasticSearch的docker,索引器将显示错误:"您的集群中未找到任何活动节点"。

单个实体索引

在调试时或触发单个实体索引的更新时,可以使用单个实体索引。

php bin/magento vsbridge:index <index> <storeId> <entityId>

您必须提供索引名称、商店ID和实体ID。如果您需要所有可用的索引名称列表,可以使用php bin/magento indexer:status。所有相关的索引都以前缀vsbridge_开头

保存时更新模式

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

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

按计划更新模式

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

兼容性

--- Alokai >= 1.4.4 模块在以下版本上进行了测试:--- Magento Community版本2.2.7。它应该能够在Magento 2.2.*和更高版本上运行而不会出现任何问题。

--- Magento Commerce版本2.3.0。桥索引器不能安装在低于Magento Enterprise版本的版本上。

--- 您可以在Magento 2.3.* Commerce上安装模块,但您仍然需要ES 5.*来导出数据。模块将与库elasticsearch/elastichsearch5.*6.*)一起工作

待办事项

  • 通过添加新的配置来添加发送到ElasticSearch的类别的限制:仅发送菜单中可见的类别,仅发送活动的类别 @Agata
  • 添加一个新命令,允许启用/禁用以下索引:CMS块、CMS页面。
  • 添加一个选项来排除默认的Magento索引(这些索引不会影响新索引操作)
  • 将目录模块拆分为更小的模块
  • 完全删除"vsbridge_product_category"并以不同方式在ES中运行部分更新