Skip to content

Index Search

Chapter summary A full-text index mechanism for fast searching across large numbers of files. Combines a Lucene.Net full-text inverted index (under indexes/) with SQLite metadata management (zenith.db), and uses FileSystemWatcher for differential change tracking. Rich load-control options (idle-only indexing via IdleOnlyExecution + IdleCpuThreshold, network-drive light processing) minimize impact on other apps.

This section explains the concepts, settings details, and technical workings of index search. It includes both beginner-friendly content for understanding operations and configuration, and advanced technical explanations for those interested in implementation and tuning.

Index search is a feature that pre-stores file information from folders in a database (index), enabling instant search results even from massive numbers of files.

Search Mode Characteristics Best suited for
Normal search Scans the folder on the spot. Always current, but slow for large folders. Searching within small to medium folders that are currently open.
Index search Uses a pre-built index. Extremely fast, but requires tuning for "when and how much to update." Cross-folder searching across multiple registered folders.

Zenith Filer's index feature uses a full-text search engine based on Lucene.NET (the .NET port of Apache Lucene), tuned for high-precision searching of Japanese file names and paths.

Index Lifecycle

Indexes are managed through the following flow, from folder registration to updating and rebuilding.

  • Registration: Adding a folder in "Index Search Settings" (default: Ctrl+Shift+4) registers it as a search target. No index is created at this point.
  • Initial indexing: Pressing "Create Unindexed" scans disk files and creates indexes only for folders that have never been indexed.
  • Incremental update: Depending on the configured update mode, indexes are updated via FileSystemWatcher instant detection, periodic rescanning, or manual execution only. Periodic rescanning keeps counting from the last run even while the app is closed; if the interval has already passed when the app starts, it runs a few minutes after startup.
  • Operations in the app: whatever you move, copy, delete or rename in Zenith Filer (including paste, drag and drop, batch rename, Ctrl + Z undo, the AI folder organizer and macros) is reflected in the index right away, whatever the update mode. Entries for places that are gone are removed, and new places show up at once in search and in folder sizes (places outside the index and locked folders are left alone).
  • Changes in the open folder: under "Auto-detect changes" or "Update at regular intervals", changes made from outside the app, such as in Explorer, to the folder you have open (creating, renaming or deleting files and folders) are reflected too. Under "Update only when needed" they are not.
  • Full rebuild: Selecting "Execute Full Rebuild..." from the menu (three dots) deletes and recreates all folder indexes from scratch. If re-executed within the "Full Re-index Minimum Interval" setting, the actual full scan is skipped.
  • Pause and Resume: "Pause" stops new index creation, and "Resume" resumes it. Existing indexes remain usable, and searching is available while paused.

Index states are displayed in the index search settings view as follows.

State Meaning
Not Indexed Index has never been created. May not be included in search results.
Index Complete Index creation for current content is complete.
Incremental Update In Progress Catching up to the latest state via change detection or periodic scanning.
Paused Index updating is paused. Existing indexes remain usable.

Flow when pressing Enter in an index search tab (overview):

  1. First, existing indexes only are used to quickly retrieve hit candidates and display results.
  2. (Normal search mode only) If needed, the folder's index is recreated, and if results change, the list is refreshed.
  3. When "freshness priority" is ON, background incremental updates run separately from the foreground search, improving accuracy and freshness for subsequent searches.

Normal search: If the folder is not yet indexed, creates the index first, then executes the search. If already indexed, search results appear immediately.

Search Result Freshness Warning Bar

The yellow bar displayed at the top of index search results is a notice that "search results may be outdated."

  • It appears only when some target folders have not yet been indexed.
  • The index itself is safe to use, but creating indexes once with "Create Unindexed" will stabilize future search results.
  • If the message is unnecessary, close it with the X button on the right of the bar, or turn off "Show message when index may be stale" in app settings.

Troubleshooting and Best Practices

Issue Possible Cause Action
File not found in search results Index has not been created yet, or the target folder is not registered. Register the folder in Index Search Settings and execute "Create Unindexed."
Results are clearly outdated Deleted or moved files still remain in the index. Right-click the folder and execute "Rebuild Index."
Warning bar appears frequently Unindexed folders are registered. Close the warning with "X," or turn off "Show message when index may be stale" in app settings. Alternatively, execute "Create Unindexed" once to prevent future warnings.
Server becomes slow / concerned about background load Freshness priority or automatic updates are running frequently. Set to "Update only when needed," turn OFF "freshness priority," and enable "Process network drives gently" for network drives.
Keyboard shortcuts stop responding Focus is stuck on the terminal pane or a specific control. Restart the app. Clicking on another pane or file list to return focus may also resolve the issue.