Indexly FAQ
Categories:
Who This Page Is For
- New users validating installation and first-run behavior
- Daily users checking file locations, command choice, and supported formats
- Developers and operators troubleshooting persistence, schema, logging, or performance issues
How To Use This FAQ
Start here when you need a short answer quickly, then follow the related documentation links for deeper steps and examples.
If you are working with structured datasets, AutoDoctor artifacts, or SQLite databases, the analysis guides linked in each answer will take you deeper than this page should.
Support
Indexly Frequently Asked Questions
Quick answers for installation, local storage paths, file support, troubleshooting, and day-to-day CLI workflows.
Installation
Start here when you are setting up Indexly or enabling optional feature groups.
py -m pip install indexly. On macOS and Linux, Homebrew is the most convenient product install path, while python -m pip install indexly remains a cross-platform fallback. If you are preparing a contributor workstation, use the maintained Windows or Linux environment setup guide instead of only installing the CLI. Always verify with indexly --version and indexly --help after installation.
Related documentation
Related documentation
dotfiles-linux workflow from the dotfiles repository. The default Linux path is to copy the bundle to ~/dotfiles-linux, run ./bootstrap.sh, reload Bash, then use show-help and idxdocs verify to confirm the shell and Project-Indexly docs toolchain. On development machines, use update-lp after changing the repo bundle so the live ~/dotfiles-linux profile is refreshed; use update-profile only when you need to relink an already-synced local bundle.
Related documentation
indexly[analysis], indexly[documents], indexly[visualization], or indexly[pdf_export]. This avoids pulling in heavy dependencies when you only need the core search workflow.
Related documentation
Usage Basics
These answers help you choose the right command and get productive quickly.
indexly --help, index a folder, run a simple search, then try one structured-data command. That sequence confirms the CLI is available, indexing works, and your environment is ready for the workflows you care about.
Related documentation
analyze-file when you want Indexly to detect the best route automatically, especially for mixed structured formats or operational artifacts such as AutoDoctor JSON and SQLite outputs. Use analyze-json, analyze-csv, or analyze-db when you already know the file type and want a more direct route.
Related documentation
Related documentation
Rename Automation
Choose and operate Indexly's on-demand and watch-folder renaming commands safely.
rename-file for an on-demand file or folder that already exists, especially when you need optional database path sync or organizer handoff. Use rename-watch when files arrive over time and should pass through a repeatable JSON-defined pipeline with settling, filters, counters, quarantine, operator retry, and crash recovery.
Related documentation
indexly rename-watch --config "./rename-watch.json" --once --dry-run. The preview freezes the initial file set, models counters and collisions, and does not move files or consume counter state.
Related documentation
--status reports durable active failures and their IDs; --retry-failures performs a guarded operator retry under the same watch-root lock.
Related documentation
rename-watch is a standalone filesystem rename pipeline. Use indexly watch when you want live indexing, or use rename-file --update-db for an on-demand rename that should also synchronize existing Indexly database paths.
Related documentation
INDEXLY_HOME, and NT AUTHORITY\LocalService for local folders. After installing the wrapper, always run sc.exe qc IndexlyRenameWatch before the first start and after an upgrade. It must report NT AUTHORITY\LocalService, not LocalSystem; the service guide includes the safe correction command and health checks.
Related documentation
python.exe means the service account can reach the wrapper but not the complete Python runtime. Stop the service, grant its identity read and execute access to both the versioned environment and its base Python installation, then repeat --check-config and --once --dry-run before starting it again. A dedicated runtime outside a personal user profile is the safer long-term layout.
Related documentation
File Locations
These paths matter when you need to inspect state files, logs, or runtime storage directly.
fts_index.db inside its user-writable runtime base directory. By default that base is %APPDATA%\\indexly on Windows, ~/Library/Application Support/indexly on macOS, and $XDG_DATA_HOME/indexly or ~/.local/share/indexly on Linux. If INDEXLY_HOME is set, that override becomes the base directory instead.
Related documentation
search_cache.json in the same runtime base directory as the database. Some command-specific caches can also live closer to the working data, such as organizer or lister cache files created under a local .indexly folder when those workflows are used.
Related documentation
log/ folder. Organizer workflows can also write JSON logs to a custom --log-dir, which is useful when you want audit trails stored beside the files you are organizing.
Related documentation
Supported File Types
Use these answers to understand both search-oriented and analysis-oriented format support.
Related documentation
analyze-file command is often the safest starting point when you are not fully sure which route will preserve the most meaning.
Related documentation
Related documentation
Troubleshooting
These are the fastest checks when behavior looks wrong or a command seems to stop short.
indexly doctor if the environment still feels inconsistent.
Related documentation
analyze-file or a dedicated route such as analyze-autodoctor, because those paths can choose a better interpretation strategy than a strict JSON-first flow.
Related documentation
indexly doctor to inspect the environment and database state. If the tool reports missing columns or schema drift, follow up with indexly doctor --fix-db after reviewing the message. That route is designed to surface problems before you try more invasive troubleshooting.
Related documentation
clear-search removes rows from the local FTS5 search index only; it does not delete source files. To recover search results, re-run indexly index on the folder that contains the files. If you used --all, re-index every folder you expect to search. If cache invalidation failed, remove search_cache.json from the Indexly runtime directory so future searches rebuild fresh cache entries.
Related documentation
Performance Tips
Use these suggestions when data volume grows and you want Indexly to stay responsive.
indexly perf --show. For a non-WAL database it opens SQLite read-only, runs bounded local probes, and refreshes only the checksummed performance record. It refuses WAL mode before opening SQLite so a read-only connection cannot create or update shared-memory state; it never checkpoints WAL or changes journal mode. Use indexly perf --read to read the latest validated record without opening SQLite or writing files. Values are labelled Observed, Indexly-derived, or Theoretical and compare this installation with its own baseline; they are not a hardware benchmark or a direct comparison with another machine.
Related documentation
planner-optimize or fts-merge; database size, page count, and a generic performance grade are not enough. Both actions require measured canonical Indexly FTS5 readiness 1 (match). A legacy record missing the readiness metric returns collect_evidence; run a fresh perf --show. Unmeasured or budget-unavailable readiness returns unavailable without inferring schema damage. Measured readiness 0 for an actually inspected noncanonical, missing, drifted, external-content, malformed, unsupported, or uninspectable definition returns repair_required and routes to Doctor. Apply also requires a current report, exact database bindings, WAL refusal, free space, a writer reservation, a verified synchronized backup, and confirmation. The result omits the private identity salt and indexed paths or content.
Related documentation
2 means no database mutation committed: preflight or backup failed, the action transaction rolled back, or follow-up failed after a no_op. If backup cleanup is incomplete, indexly.performance-error/v1 reports mutation_applied: false, backup_verified: false, cleanup_incomplete: true, and only the unverified candidate filename. Inspect and remove that named candidate in the configured backup directory before retrying; do not use it for recovery. A rollback after verified backup creation instead uses indexly.performance-action/v1. Exit 3 means a mutation was applied but audit persistence or the post-action report failed; treat it as partial success and do not retry blindly.
Related documentation
Elevated means repeated baseline-relative degradation was observed, while ungraded states such as collecting_baseline or inconclusive mean there is not enough comparable evidence. Review indexly perf --show; use the separate read-only indexly doctor --full-integrity check only when integrity is in question.
Related documentation
Related documentation
analyze-file is often better than forcing a JSON-only route when the input may actually be NDJSON, a report document, or an application-specific export. That keeps the analysis path closer to the file’s real structure and avoids unnecessary reshaping work.
Related documentation