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)です。iblockやmainではなく、必ず独自のモジュール ID を使用してください。 - 必ず
SITE_ID、PERMISSIONS、DATE_CHANGEを渡してください。権限のないアイテムは管理者にのみ表示されます。G2は匿名ユーザーを含む全員を意味します。 search:OnReindexは、実行時のaddEventHandler()ではなく、インストーラーでモジュール ID とともに永続的に登録してください。- Web コンテキストから検索してください。
CSearch::Search()には$USERが必要で、エージェントでは致命的エラーが発生します。
コメント
Markdown 対応