账号注册与配置 #
注册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
创建步骤 #
- 登录Dashboard
- 点击左侧菜单"Applications"
- 点击"New Application"
- 输入应用名称
- 选择数据中心区域
数据中心选择 #
| 区域 | 代码 | 适用场景 |
|---|---|---|
| 美国 | us | 北美用户 |
| 欧洲 | eu | 欧洲用户 |
| 亚太 | ap | 亚洲用户 |
建议:选择离目标用户最近的区域以获得最佳性能。
获取API密钥 #
密钥类型 #
Algolia提供多种API密钥,每种有不同的权限:
| 密钥类型 | 用途 | 权限 |
|---|---|---|
| Application ID | 应用标识 | 公开 |
| Search-Only API Key | 前端搜索 | 只读 |
| Admin API Key | 管理操作 | 完全权限 |
| Write API Key | 写入数据 | 写入权限 |
查看密钥 #
- 进入Dashboard
- 选择应用
- 点击左侧"API Keys"
- 查看各类密钥
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 |
基础配置 #
索引设置 #
创建第一个索引:
- 进入Dashboard
- 点击"Indices"
- 点击"Create Index"
- 输入索引名称
索引命名规范 #
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
};
团队协作配置 #
添加团队成员 #
- 进入Dashboard
- 点击"Settings" → “Team”
- 输入成员邮箱
- 选择角色
角色权限 #
| 角色 | 权限 |
|---|---|
| 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账号的注册和基础配置:
- 注册账号并创建应用
- 获取各类API密钥
- 配置环境变量
- 测试连接
接下来,让我们创建 第一个搜索应用。
最后更新:2026-03-28