algolia/algolia-search-bundle

该包已被废弃,不再维护。作者建议使用algolia/search-bundle包。

安装次数: 290,091

依赖项: 2

推荐者: 0

安全性: 0

星级: 189

关注者: 82

分支: 71

开放性问题: 20

类型:symfony-bundle


README

Algolia for Symfony

将Algolia集成到您的Symfony项目的完美起点

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配置就绪,您可以使用内置的console命令批量导入所有现有数据。

# 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 Manager)。

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

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

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

故障排除

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

使用Dockerfile

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

📄 许可证

Algolia Symfony Search Bundle是一个开源软件,受MIT许可证许可。