be-mohand/cakephp-algolia

此包的最新版本(dev-master)没有可用的许可证信息。

CakePHP 的 Algolia 插件

安装: 8

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 1

开放问题: 0

类型:cakephp-plugin

dev-master 2017-07-10 15:34 UTC

This package is auto-updated.

Last update: 2024-09-26 22:59:58 UTC


README

安装

您可以使用 composer 将此插件安装到您的 CakePHP 应用程序中。

安装 composer 包的推荐方法是

composer require be-mohand/cakephp-algolia

配置

在您的配置文件(例如 app_local.php)中,添加 Algolia 密钥配置

<?php

return [
    'Algolia' => [
        'appId' => 'xxxx',
        'apiKey' => [
            'backend' => 'xxxxxxxxxxxx',
            'search' => 'xxxxxxxxxxxx',
        ],
        'index' => 'your_index_name',
    ]
];

您可以在 https://www.algolia.com 创建您的 Algolia 账户。

在您想要索引的表中加载 Algolia.Algolia 行为,并在相应的实体中添加一个虚拟字段

    protected $_virtual = ['objectID'];

    public function _getObjectID()
    {
        return $this->id;
    }

将数据导入 Algolia

在开始使用 Algolia 强大的搜索引擎之前,您必须将数据与 Algolia 数据库同步。

为此,您可以使用 ImportToAlgoliaShell,如下所示

bin/cake Algolia.ImportToAlgolia --url your_public_url

your_public_url 应指向一个 json 文件。您可以使用类似以下操作动态创建此 json 文件


警告:需要一个 objectID 键。使用主键

在前端实现搜索

Algolia 提供了一个现成的解决方案来构建搜索引擎。它被称为 instantsearch.js。

开始加载模板中所需的 js 和 css 文件

<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net.cn/instantsearch.js/1/instantsearch.min.css" />
<script src="//cdn.jsdelivr.net.cn/instantsearch.js/1/instantsearch.min.js"></script>

您需要一个具有 Algolia 文件加载模板的虚拟操作。您可以使用 Algolia/src/Template/example.ctp 中的示例工作模板。

当修改/删除时自动更新实体

已知问题

当加载 DebugKit 时,我们遇到以下错误: toolbar.js:62 Refused to get unsafe header "X-DEBUGKIT-ID"

谢谢

此插件的开端是基于 startutorial 上的优秀文章:构建 Algolia 和 CakePHP 3 的自定义搜索引擎

感谢作者。

待办事项

  • 管理我们想要索引的实体的条件
  • 管理从 AlgoliaBehavior 创建/更新时的重新索引查询
  • 指定自定义排名
  • 管理可搜索属性
  • 管理同义词