关于 bitrix-search
面向 Bitrix 开发者的搜索实现指南,涵盖旧版 `CSearch*` API 的索引与查询。内容说明模块初始化、重建索引、权限和搜索引擎行为。
主要功能
- 01索引实体与字段
- 02处理权限和删除
- 03注册重建索引处理器
- 04使用 `CSearch::Search()` 查询
- 05配置搜索引擎
适用场景
- 01将自定义实体加入 Bitrix 搜索
- 02构建完整或模块级重建索引流程
- 03排查搜索权限和 URL 问题
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ bxmaximum/ bitrix-framework-skills --skill bitrix-search安装后在 Claude Code 中输入/bitrix-search确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
rules/engines.mdindexing.mdreindex.mdsearching.md详细介绍
Bitrix 搜索模块
基线:main 23.0+ · 已验证:search 25.200.0、main 26.800.0
包含在所有版本中(Site Management 和 Bitrix24)。仅提供旧版 API:CSearch* 类,没有 lib/、D7 或 ORM 层,也没有控制台命令。
| 任务 | 阅读 |
|---|---|
为自有实体编制索引、字段、权限、删除、BeforeIndex | rules/indexing.md |
OnReindex 处理程序、完整/模块重建索引、CLI、步骤 | rules/reindex.md |
search.page/search.title、CSearch::Search()、权限、URL 钩子 | rules/searching.md |
| Sphinx/OpenSearch/MySQL/PgSQL 引擎、词干提取、自定义排序、静态文件 | rules/engines.md |
不变要求
- 调用任何
CSearch*方法前,先调用Loader::includeModule('search');模块可能不存在或未安装,因此编制索引不能影响写入操作。 - 在
/local/modules/<vendor.module>/中通过单个服务封装CSearch;实体事件和OnReindex处理程序都使用同一个字段构建器调用它。 - 索引键为(
MODULE_ID、ITEM_ID);使用你的模块 ID,绝不要使用iblock或main。 - 始终传入
SITE_ID、PERMISSIONS和DATE_CHANGE;没有权限的条目仅管理员可见,G2表示所有人(包括匿名用户)。 - 使用模块 ID,通过安装程序持久注册
search:OnReindex,而不是通过运行时addEventHandler()注册。 - 从 Web 上下文中搜索:
CSearch::Search()需要$USER,在 Agent 中会触发致命错误。
评论
支持 Markdown