Lecteur Markdown
SITEINDEXER_DOCUMENTATION_EN
Feature: Site Indexer #
Full-text search content indexer. Processes content sources defined in JSON configuration files, generates slugs and inserts them into the `search_index` table used by the `narrowsearch` plugin.
---
Installation and Configuration #
Via FTP: Upload the `siteindexer/` directory into `/plugins/`.
Via package manager: Select `siteindexer` from the available plugins list.
Paths:
- Main plugin: `/plugins/siteindexer/siteindexer.php`
- Configuration: `/plugins/siteindexer/conf/siteindexer.conf.inc.php`
- Library: `/plugins/siteindexer/lib/siteindexer.lib.inc.php`
Source configuration: `*.sitemap.json` files in:
- `/conf/siteindexer_configs/` — global sources
- `/plugins//conf/.sitemap.json` — per-plugin sources
Each JSON file must contain `enabled: true` to be processed.
Required SQL table: `search_index`
Columns: `url`, `title`, `source`, `lang`, `content`
---
Usage #
1. Ensure source configuration files are present and enabled.
2. Launch indexing from the plugin interface or via a scheduler.
3. The plugin purges and rebuilds the index on each run.
Exposed class #
`SiteIndexer`:
SiteIndexer::indexAll(): int // Returns the number of indexed items
---
Hooks and Entry Points #
?obj=siteindexer.php — Interface and indexing launcher (POST)
Can be scheduled via the `scheduler` plugin.
---
Dependencies #
- `Beamreactor\Database\SQL`
- Plugin narrowsearch — consumes the `search_index` table
- JSON source configuration files (plugins with sitemap enabled)