algolia-search

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Algolia Search Integration

Algolia搜索集成

Patterns

模式

React InstantSearch with Hooks

使用Hooks的React InstantSearch

Modern React InstantSearch setup using hooks for type-ahead search.
Uses react-instantsearch-hooks-web package with algoliasearch client. Widgets are components that can be customized with classnames.
Key hooks:
  • useSearchBox: Search input handling
  • useHits: Access search results
  • useRefinementList: Facet filtering
  • usePagination: Result pagination
  • useInstantSearch: Full state access
使用Hooks实现现代React InstantSearch自动补全搜索。
采用react-instantsearch-hooks-web包搭配algoliasearch客户端。 组件(Widgets)可通过类名进行自定义。
关键Hooks:
  • useSearchBox:搜索输入处理
  • useHits:访问搜索结果
  • useRefinementList:分面筛选
  • usePagination:结果分页
  • useInstantSearch:完整状态访问

Next.js Server-Side Rendering

Next.js服务端渲染

SSR integration for Next.js with react-instantsearch-nextjs package.
Use <InstantSearchNext> instead of <InstantSearch> for SSR. Supports both Pages Router and App Router (experimental).
Key considerations:
  • Set dynamic = 'force-dynamic' for fresh results
  • Handle URL synchronization with routing prop
  • Use getServerState for initial state
使用react-instantsearch-nextjs包实现Next.js的SSR集成。
使用<InstantSearchNext>替代<InstantSearch>以支持SSR。 同时支持Pages Router和App Router(实验性)。
关键注意事项:
  • 设置dynamic = 'force-dynamic'以获取最新结果
  • 通过routing属性处理URL同步
  • 使用getServerState获取初始状态

Data Synchronization and Indexing

数据同步与索引

Indexing strategies for keeping Algolia in sync with your data.
Three main approaches:
  1. Full Reindexing - Replace entire index (expensive)
  2. Full Record Updates - Replace individual records
  3. Partial Updates - Update specific attributes only
Best practices:
  • Batch records (ideal: 10MB, 1K-10K records per batch)
  • Use incremental updates when possible
  • partialUpdateObjects for attribute-only changes
  • Avoid deleteBy (computationally expensive)
保持Algolia与数据同步的索引策略。
三种主要方式:
  1. 全量重建索引 - 替换整个索引(成本较高)
  2. 全量记录更新 - 替换单个记录
  3. 部分更新 - 仅更新特定属性
最佳实践:
  • 批量处理记录(理想值:10MB,每批1K-10K条记录)
  • 尽可能使用增量更新
  • 使用partialUpdateObjects进行仅属性变更的更新
  • 避免使用deleteBy(计算成本高)

⚠️ Sharp Edges

⚠️注意事项

IssueSeveritySolution
IssuecriticalSee docs
IssuehighSee docs
IssuemediumSee docs
IssuemediumSee docs
IssuemediumSee docs
IssuemediumSee docs
IssuemediumSee docs
IssuemediumSee docs
问题严重程度解决方案
问题严重查看文档
问题查看文档
问题查看文档
问题查看文档
问题查看文档
问题查看文档
问题查看文档
问题查看文档