Search Internals & Advance Usage
Indexly Search combines SQLite FTS5, logical operators, fuzzy fallback, and regex scanning to surface deep insights from indexed files.
Search is one of Indexly’s core capabilities.
Once your environment is organized, ignored correctly via .indexlyignore, and indexed using Indexly’s semantic indexer, Search becomes a high-signal inspection and discovery tool — not just a keyword matcher.
Indexly provides two complementary search engines:
• FTS Search — fast, ranked, logical, semantic • Regex Search — precise, pattern-based, forensic
Both operate entirely on the index — no live filesystem scanning.
🛡️ Search never modifies files. It reads indexed content only.
Files are indexed into a SQLite FTS5 database
Content, metadata, and tags are normalized
Queries are compiled into optimized SQL
Results are:
Search performance scales with index size, not filesystem size.
FTS search is the default and recommended mode.
It is powered by SQLite FTS5, extended with: • logical operators • NEAR queries • fuzzy fallback • metadata filtering
indexly search "error handling"
This performs: • phrase normalization • ranking by relevance • contextual snippet extraction
Indexly fully supports FTS5 logic:
indexly search 'error AND timeout'
indexly search 'docker OR kubernetes'
indexly search 'cache NOT redis'
Operators are automatically normalized and validated.
indexly search 'authentication NEAR/5 failure'
Behind the scenes: • Indexly detects SQLite NEAR support • Automatically downgrades if unsupported • Ensures cross-platform safety
indexly search 'config*'
Useful for: • variable names • partial identifiers • evolving terminology
If no operators are detected:
indexly search error handling
Indexly safely converts this to:
"error handling"
This avoids accidental OR explosions and improves relevance.
FTS queries can be narrowed surgically:
indexly search "invoice" --ext pdf
indexly search "meeting" --path reports/2025
indexly search "deployment" --date-from 2025-01
Supported filters include: • file extension • path substring • modification date range • tags • document metadata (author, format) • image metadata (camera, creation date)
All filters are compiled into safe SQL predicates.
If files are tagged:
indexly search "backup" --tag infra
Indexly resolves tags → file paths → filtered search space.
This enables semantic slicing of large environments.
When enabled:
indexly search "authentcation" --fuzzy
If no direct hits are found:
This is not a blind Levenshtein scan — it is vocabulary-aware.
Regex search is designed for precision and audits.
Use it when: • structure matters • syntax must match exactly • investigating legacy or generated content
indexly regex '(?i)password\s*='
Regex search:
• runs against indexed content
• uses Python re
• extracts contextual snippets
Indexly automatically optimizes regex queries:
• Multiple literal words → LIKE batching
• Single complex pattern → REGEXP
• Early narrowing via tags, paths, dates
This avoids full table scans whenever possible.
Both FTS and regex searches are cached.
Cache behavior:
• keyed by query + filters
• automatically refreshed if files change
• bypassable via --no-cache
indexly search "policy" --no-cache
Stale entries are selectively reloaded — not discarded wholesale.
| Use Case | Recommended |
|---|---|
| Concept discovery | FTS |
| Logical queries | FTS |
| Large environments | FTS |
| Exact syntax | Regex |
| Security audits | Regex |
| Config validation | Regex |
Search is safe for: • production systems • mounted backups • network shares
Indexly Search follows three principles:
Search is not a bolt-on feature — it is the primary interface to your indexed knowledge base.
Indexly Search combines SQLite FTS5, logical operators, fuzzy fallback, and regex scanning to surface deep insights from indexed files.