algolia/search-bundle

安装次数: 1,326,315

依赖关系: 2

建议者: 0

安全: 0

星标: 191

关注者: 82

分支: 70

开放性问题: 19

类型:symfony-bundle


README

Algolia for Symfony

Algolia SearchBundle 是在您的 Symfony 项目中集成 Algolia 的完美起点

CircleCI Total Downloads Latest Version License

文档PHPLaravel社区论坛Stack Overflow报告错误常见问题解答支持

✨ 功能

  • 简单:只需5行 YAML 即可开始使用
  • 强大:它利用了我们的 PHP 客户端 v2 的所有新功能,如 wait() 方法
  • 灵活:所有方法都接受可选的 $requestOptions 以便您按需处理数据
  • 开发者友好:通过详尽的文档实现自动完成和类型提示

Algolia SearchBundle 支持 PHP > 7.1

💡 入门

首先,通过 composer 包管理器安装 Algolia Search Bundle 集成

composer require algolia/search-bundle

您还需要提供 Algolia App ID 和 Admin API 密钥。默认情况下,它们从环境变量 ALGOLIA_APP_IDALGOLIA_API_KEY 加载。

如果您使用 .env 配置文件,您可以在其中设置它们。

ALGOLIA_APP_ID=XXXXXXXXXX
ALGOLIA_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

如果您不使用环境变量,您可以在 parameters.yml 中设置它们。

parameters:
    env(ALGOLIA_APP_ID): XXXXXXXXXX
    env(ALGOLIA_API_KEY): xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

索引数据

首先,我们需要定义哪些实体应该被索引到 Algolia。每个位于 indices 配置键下的条目必须至少包含以下两个属性

  • name 是 Algolia 中索引的规范名称
  • class 是要索引的实体的全名

示例

algolia_search:
  indices:
    - name: posts
      class: App\Entity\Post

通过 CLI

一旦您的 indices 配置就绪,您可以使用内置的命令行工具批量导入所有现有数据。

# Import all indices
php bin/console search:import

# Choose what indices to reindex by passing the index name
php bin/console search:import --indices=posts,comments

在重新索引所有内容之前,您可能想要先清除索引,请参阅 如何删除数据

简单搜索

在这个例子中,我们将搜索帖子。search 方法将查询 Algolia 以获取匹配的结果,然后创建一个 doctrine 集合。数据是从数据库中提取的(这就是为什么您需要传递 Doctrine 管理器)。

$em = $this->getDoctrine()->getManagerForClass(Post::class);

$posts = $this->searchService->search($em, Post::class, 'query');

有关完整文档,请访问 Algolia Symfony Search Bundle

故障排除

遇到问题了吗?在联系支持之前,我们建议您前往我们的 常见问题解答,在那里您可以找到关于此包的常见问题和注意事项的答案。

使用 Dockerfile

如果您想在不安装所有依赖项的情况下为此项目做出贡献,您可以使用我们的 Docker 镜像。请查阅我们的 专用指南 了解更多信息。

📄 许可证

Algolia Symfony Search Bundle 是一个开源软件,遵循 MIT 许可协议