Magento 2.1/2.2 集成 Elasticsearch
Magento 2.1/2.2 集成 Elasticsearch
此方法将向您展示如何使用Amazon Elasticsearch服务和Smile ElasticSuite在Magento2.1上使用Elasticsearch 。
要做到这一点,我们需要:
- 配置Amazon Elasticsearch服务
- 在Magento Open Source 2.1实例中安装并配置Smile ElasticSuite
配置Amazon Elasticsearch服务
使用您的Amazon控制台帐户,导航到Elasticsearch服务(服务>分析> Elasticsearch服务)。然后点击“创建一个新的域”按钮。
第1步:定义域
定义您的Elasticsearch域,这将成为您的域端点的一部分。
另外,指定将用于您的域的Elasticsearch引擎的版本。 要将Elasticsearch与Smile ElasticSuite连接,我们应该使用Elasticsearch 2.1或更高版本。
步骤2:配置群集
根据您的要求配置群集的实例和存储设置。
根据您的需要选择正确的实例类型和实例数量。 (为了测试目的,我们将选择 t2.small.elasticsearch)
然后,选择适合您的数据节点的存储类型。
第3步:设置访问
通过选择VPC访问来配置网络,这将使用VPC中的私有IP地址来默认提供安全性。
附加策略来控制对域的访问,您可以通过 从模板选择器中选择一个策略模板来实现。
第4步:审查
查看信息,然后选择“ 确认并创建”按钮。
成功创建Elasticsearch域之后,其状态将首先是“Loading”。
您将需要等待几分钟才能处于“活动”状态。
注意VPC端点,稍后我们将使用它来连接Elasticsearch和Magento。
安装并配置Smile ElasticSuite
要安装Smile ElasticSuite,我们需要具备以下先决条件:
ElasticSearch 2.1或更高版本,安装了“脚本启用”和ICU和拼音插件
Magento 2.1.x实例
然后我们可以继续安装ElasticSuite:
安装ElasticSuite
通过composer安装ElasticSuite:
composer require smile/elasticsuite
启用该模块并运行ElasticSuite安装程序:
bin/magento module:enable Smile_ElasticsuiteCore Smile_ElasticsuiteCatalog Smile_ElasticsuiteSwatches Smile_ElasticsuiteCatalogRule Smile_ElasticsuiteVirtualCategory Smile_ElasticsuiteThesaurus Smile_ElasticsuiteCatalogOptimizer Smile_ElasticsuiteTracker bin/magento setup:upgrade
在app/code自定义模块里创建etc.config文件,其中包含以下内容:
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nOnamespaceSchemaLocation="urn:magento:module:Magento_Store:etc/config.xsd"> <default> <smile_elasticsuite_core_base_settings> <es_client> <servers>vpc-test-my_server.ap-northeast-1.es.amazonaws.com:443</servers> <!-- Use the VPC endpoint that we took down a while ago --> </es_client> </smile_elasticsuite_core_base_settings> </default> </config>
自定义模块应依赖于Smile_ElasticsuiteCore,以确保配置将以正确的顺序加载:
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nOnamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> <module name="MyProject_ElasticSuite" setup_version="1.0.0"> <sequence> <module name="Smile_ElasticsuiteCore"/> </sequence> </module> </config>
配置ElasticSearch服务器
通过 Stores> Configuration> Smile Elastic Suite> Base Settings 配置ElasticSearch服务器 。
我们在自定义模块中指定的VPC端点应显示在 Elasticsearch服务器列表中。使用HTTPS和其他设置,您可以保留默认值。
过程索引
最后,详细介绍catalogsearch_fulltext 索引的重新 索引。
bin/magento index:reindex catalogsearch_fulltext bin/magento index:reindex elasticsuite_categories_fulltext bin/magento index:reindex elasticsuite_thesaurus
重建索引完成后,您现在可以查看通过Smile Elastic Suite呈现的前端目录和搜索页面。
测试
以下是使用ElasticSuite 的 自动完成功能的示例。
※ 其他功能和定制,你可以检查 Smile-SA/elasticsuite作为参考。
说明
由于Elasticsearch服务仅在Magento Commerce Edition中可用,您可以从使用此方法的Magento Open Source 2.1.x实例上使用Elasticsearch的优势中受益。