The search index is the foundation of Lumenare Search. This guide covers building, updating, and maintaining your search index.
Current release: 2.1.00
What is the Search Index?
The search index is a custom database table that stores:
- Keywords extracted from your content
- Per-field occurrence counts for titles, excerpts, content, taxonomies, authors, custom fields, and optional document attachments
- Post relationships
- Reverse terms for suffix matching
- Fast lookup for search queries
Why it's important:
- Makes search fast (direct database lookups)
- Enables relevance ranking
- Powers all search features
Building Your Index
Initial Index Build
When: After first installation or when index is missing
Steps:
- Go to Settings → Lumenare Search → Index Management
- Check "Indexed Posts" count (should be 0 or incomplete)
- Click "Reindex All Content"
- Wait for completion (runs in batches)
- Verify "Indexed Posts" count matches your published content
Time: 2-10 minutes depending on site size
Note: The plugin automatically indexes new content as you publish it, but existing content needs initial indexing.
Full Reindex
When to use:
- After changing stop words
- After changing post types to search
- After changing weights (title, excerpt, content, taxonomy)
- After enabling document indexing or changing document MIME types
- After bulk content updates
- When index seems incomplete or outdated
Steps:
- Go to Index Management tab
- Click "Reindex All Content"
- Wait for completion
- Verify indexed count
Note: Full reindex rebuilds everything. Use partial reindex when possible.
Partial Reindex
When to use:
- After publishing new posts
- After updating specific content
- After changing settings that don't require full reindex
- For incremental updates
Options:
- Index New Posts: Only index posts not yet indexed
- Index Post Type: Index specific post types
- Index Date Range: Index posts within date range
- Automatic New-Content Indexing: Schedule WP-Cron to keep large catalogs caught up without a full rebuild
Steps:
- Go to Index Management tab
- Choose partial reindex option
- Select parameters (post type, date range, etc.)
- Click reindex button
- Wait for completion
Automatic New-Content Indexing
For large catalogs, enable automatic new-content reindexing in Index Management and choose a WP-Cron interval. Lumenare records the last run status, continuation state, and next scheduled run so you can see whether the catch-up job is healthy.
Use this for normal ongoing publishing. Use a full reindex after schema, post type, stop word, weight, or document-indexing changes.
Index Status
Checking Index Status
Indexed Posts Count:
- Shows number of posts in index
- Compare to published post count
- Should match (or be close) after indexing
Index Coverage:
- Percentage of content indexed
- Helps identify missing content
- Should be 100% for published content
Index Health
Signs of healthy index:
- Indexed count matches published count
- Search returns expected results
- No database errors
- Fast query performance
Signs of issues:
- Indexed count much lower than published
- Search missing expected results
- Database errors in logs
- Slow query performance
Maintenance
Regular Maintenance
Weekly:
- Check indexed post count
- Verify new content is indexed
- Review index coverage
Monthly:
- Full reindex if needed
- Check for orphaned index entries
- Review index size
- Optimize database if needed
After Configuration Changes
Requires Reindex:
- Stop words changes
- Post types changes
- Weight changes (title, excerpt, content, taxonomy)
- Taxonomy weight changes
- Indexed custom field changes
- Document indexing or document MIME type changes
No Reindex Needed:
- Match mode changes
- Display settings
- Analytics settings
- Security settings
- Synonyms, query promotions, freshness, click, audio, and trending boosts
Troubleshooting
Index Not Building
Symptoms:
- Index count stays at 0
- Reindex button doesn't work
- Database errors
Solutions:
- Check database permissions
- Verify table exists (
wp_lumenare_search_index) - Check WordPress debug log
- Increase PHP memory/execution time
- Deactivate/reactivate plugin
- Run the built-in schema repair/reindex prompt if Lumenare reports failed index writes
Index Incomplete
Symptoms:
- Index count lower than published posts
- Some posts not searchable
- Missing results
Solutions:
- Check post types are selected
- Verify posts are published (not draft)
- Run full reindex
- Check for errors in logs
- Verify database table integrity
- Review automatic reindex status if WP-Cron is responsible for catching up new content
Slow Indexing
Symptoms:
- Indexing takes very long
- Timeouts during indexing
- Server load high
Solutions:
- Increase PHP execution time
- Increase PHP memory limit
- Let indexing complete (don't interrupt)
- Use partial reindex for updates
- Schedule indexing during off-peak hours
- Enable automatic new-content indexing for smaller, repeated catch-up runs
Index Too Large
Symptoms:
- Large database table
- Slow queries
- High storage usage
Solutions:
- Add more stop words
- Limit post types indexed
- Review index content
- Optimize database
- Consider archiving old content
Best Practices
Initial Setup
- Build index immediately after installation
- Verify index count matches content
- Test search to ensure it works
- Check coverage is complete
Ongoing Maintenance
- Monitor index status regularly
- Use partial reindex when possible
- Full reindex only when needed
- Keep index updated with content changes
Performance
- Schedule full reindex during off-peak hours
- Use batch indexing (automatic)
- Don't interrupt indexing process
- Monitor server resources during indexing
After Changes
- Reindex after stop words changes
- Reindex after weight changes
- Reindex after post type changes
- Test search after reindexing
Database Details
Table Structure
Table: wp_lumenare_search_index (prefix may vary)
Contains:
- Post IDs
- Keywords
- Field-level counts used by the weighting system
- Taxonomy, author, custom field, and attachment signals when enabled
- Index metadata
Table Management
Don't manually edit the index table. Use plugin interface.
Backup: Include index table in database backups.
Restore: Index will rebuild if table is missing.