divante / magento2-vsbridge-indexer
Requires
- php: >=7.0.2
- elasticsearch/elasticsearch: ~5.1|~6.1|~7.1
- magento/framework: >=101.0.0
- magento/magento-composer-installer: *
- magento/module-backend: >=100.2.0
- magento/module-catalog: >=102.0.0
- magento/module-store: >=100.2.0
- 2.0.1
- 2.0.0
- 2.0-alpha
- 1.x-dev
- 1.25.2
- 1.25.1
- 1.25.0
- 1.24.0
- 1.23.0
- 1.22.0
- 1.21.0
- 1.20.1
- 1.20.0
- 1.19.1
- 1.19.0
- 1.18.0
- 1.17.0
- 1.16.1
- 1.16.0
- 1.15.1
- 1.15.0
- 1.14.1
- 1.14.0
- 1.13.0
- 1.12.0
- 1.11.2
- 1.11.1
- 1.11.0
- 1.10.1
- 1.10.0
- 1.9.2
- 1.9.0
- 1.8.3
- 1.8.2
- 1.8.1
- 1.8.0
- 1.7.0
- 1.6.0
- 1.5.2
- 1.5.1
- 1.5.0
- 1.4.0
- 1.3.0
- 1.2.0
- 1.0.0
- dev-alokai-refactor
- dev-main
- dev-feature/allowed-stores-configuration-setting-in-website-scope
- dev-develop
- dev-archive/2.x
- dev-feature/support-for-vsf-api
- dev-develop-2.1.8
This package is auto-updated.
Last update: 2024-06-19 10:03:00 UTC
README
Divante AlokaiIndexer 扩展程序适用于 Magento2
保持联系
此项目是 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.index
和 elasticsearch.indices
是至关重要的。
索引别名前缀 → 定义 ElasticSearch 索引的前缀。面板允许仅向目录名称添加前缀,例如:vue_storefront_catalog。对于每个商店(商店视图),索引名称基于定义的前缀和 ID 或商店代码生成。不能创建别名。
示例:当我们定义以下索引时:vue_storefront_catalog_1、vue_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" ], }
运行完整索引
运行完整索引有两种选项
- 新索引的索引
通常,这些索引可以按任何顺序运行。开始时运行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
- 所有索引的重新索引
适用于小型数据库。对于大型数据库,最好手动运行命令。
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/elastichsearch(5.*
,6.*
)一起工作
待办事项
- 通过添加新的配置来添加发送到ElasticSearch的类别的限制:仅发送菜单中可见的类别,仅发送活动的类别 @Agata
- 添加一个新命令,允许启用/禁用以下索引:CMS块、CMS页面。
- 添加一个选项来排除默认的Magento索引(这些索引不会影响新索引操作)
- 将目录模块拆分为更小的模块
- 完全删除"vsbridge_product_category"并以不同方式在ES中运行部分更新