账号注册与配置 #

注册Algolia账号 #

步骤一:访问官网 #

访问 Algolia官网,点击"Start Free"或"Sign Up"按钮。

步骤二:选择注册方式 #

可以选择以下方式注册:

  • GitHub账号
  • Google账号
  • 邮箱注册

步骤三:填写信息 #

如果选择邮箱注册,需要填写:

text
邮箱地址: your-email@example.com
密码: 设置安全密码
公司名称: 可选

步骤四:验证邮箱 #

注册后会收到验证邮件,点击链接完成验证。

创建应用 #

什么是应用? #

在Algolia中,应用(Application)是资源的顶层容器:

text
Application
├── Index 1 (products)
├── Index 2 (users)
├── Index 3 (articles)
└── Settings

创建步骤 #

  1. 登录Dashboard
  2. 点击左侧菜单"Applications"
  3. 点击"New Application"
  4. 输入应用名称
  5. 选择数据中心区域

数据中心选择 #

区域 代码 适用场景
美国 us 北美用户
欧洲 eu 欧洲用户
亚太 ap 亚洲用户

建议:选择离目标用户最近的区域以获得最佳性能。

获取API密钥 #

密钥类型 #

Algolia提供多种API密钥,每种有不同的权限:

密钥类型 用途 权限
Application ID 应用标识 公开
Search-Only API Key 前端搜索 只读
Admin API Key 管理操作 完全权限
Write API Key 写入数据 写入权限

查看密钥 #

  1. 进入Dashboard
  2. 选择应用
  3. 点击左侧"API Keys"
  4. 查看各类密钥
text
Application ID: ABC123DEF456
Search-Only API Key: a1b2c3d4e5f6g7h8i9j0
Admin API Key: x1y2z3a4b5c6d7e8f9g0 (请保密!)

密钥安全原则 #

javascript
// ✅ 正确:前端使用Search-Only Key
const client = algoliasearch('APP_ID', 'SEARCH_ONLY_KEY');

// ❌ 错误:前端使用Admin Key
const client = algoliasearch('APP_ID', 'ADMIN_KEY'); // 危险!

重要规则

  • Admin Key 只能在服务端使用
  • Search-Only Key 可以在前端使用
  • 定期轮换密钥

创建安全API密钥 #

为什么需要安全密钥? #

Search-Only Key权限过大时,需要创建受限密钥:

javascript
// Node.js 后端代码
const client = algoliasearch('APP_ID', 'ADMIN_KEY');

// 创建受限密钥,只能搜索特定索引
const securedApiKey = client.generateSecuredApiKey('SEARCH_ONLY_KEY', {
  filters: 'user_id:12345',  // 只能搜索用户自己的数据
  validUntil: Math.floor(Date.now() / 1000) + 3600, // 1小时有效
  restrictIndices: 'private_data' // 限制索引
});

安全密钥参数 #

参数 说明
filters 预设过滤条件
validUntil 过期时间戳
restrictIndices 限制可访问索引
restrictSources 限制请求来源IP

基础配置 #

索引设置 #

创建第一个索引:

  1. 进入Dashboard
  2. 点击"Indices"
  3. 点击"Create Index"
  4. 输入索引名称

索引命名规范 #

text
推荐命名格式:
- products (商品索引)
- products_dev (开发环境)
- products_staging (预发布环境)
- products_prod (生产环境)

基本设置 #

json
{
  "searchableAttributes": ["name", "description", "category"],
  "attributesForFaceting": ["category", "brand", "price"],
  "customRanking": ["desc(popularity)", "desc(created_at)"],
  "hitsPerPage": 20
}

环境变量配置 #

Node.js项目 #

创建 .env 文件:

bash
# .env
ALGOLIA_APP_ID=your_app_id
ALGOLIA_SEARCH_KEY=your_search_key
ALGOLIA_ADMIN_KEY=your_admin_key
ALGOLIA_INDEX_NAME=products

使用环境变量 #

javascript
// config.js
require('dotenv').config();

module.exports = {
  algolia: {
    appId: process.env.ALGOLIA_APP_ID,
    searchKey: process.env.ALGOLIA_SEARCH_KEY,
    adminKey: process.env.ALGOLIA_ADMIN_KEY,
    indexName: process.env.ALGOLIA_INDEX_NAME
  }
};

前端配置 #

javascript
// 前端只暴露公开信息
const ALGOLIA_CONFIG = {
  appId: process.env.REACT_APP_ALGOLIA_APP_ID,
  searchKey: process.env.REACT_APP_ALGOLIA_SEARCH_KEY,
  indexName: process.env.REACT_APP_ALGOLIA_INDEX_NAME
};

团队协作配置 #

添加团队成员 #

  1. 进入Dashboard
  2. 点击"Settings" → “Team”
  3. 输入成员邮箱
  4. 选择角色

角色权限 #

角色 权限
Owner 完全权限
Admin 管理权限
Editor 编辑权限
Developer 开发权限
Analytics 只读分析

配置检查清单 #

完成以下配置后,即可开始使用Algolia:

  • [ ] 注册账号并验证邮箱
  • [ ] 创建应用
  • [ ] 获取API密钥
  • [ ] 创建索引
  • [ ] 配置环境变量
  • [ ] 测试连接

测试连接 #

使用cURL测试 #

bash
curl -X GET \
  "https://APP_ID-dsn.algolia.net/1/indexes/your_index" \
  -H "X-Algolia-API-Key: YOUR_SEARCH_KEY" \
  -H "X-Algolia-Application-Id: YOUR_APP_ID"

使用JavaScript测试 #

javascript
const algoliasearch = require('algoliasearch');

const client = algoliasearch('APP_ID', 'SEARCH_KEY');
const index = client.initIndex('test_index');

// 测试搜索
index.search('test').then(({ hits }) => {
  console.log('连接成功!', hits);
}).catch(err => {
  console.error('连接失败:', err);
});

常见问题 #

Q: 忘记Admin Key怎么办? #

A: 在Dashboard的API Keys页面可以重新生成Admin Key。

Q: 如何限制API Key的使用范围? #

A: 使用 generateSecuredApiKey 方法创建受限密钥。

Q: 免费套餐有什么限制? #

A: 免费套餐包含10,000条记录和100,000次请求/月。

总结 #

本章介绍了Algolia账号的注册和基础配置:

  1. 注册账号并创建应用
  2. 获取各类API密钥
  3. 配置环境变量
  4. 测试连接

接下来,让我们创建 第一个搜索应用

最后更新:2026-03-28