- The SearchEngine vs ApplicationSearchEngine thing is really confusing. There are also a bunch of confusing class names and class relationships within the fulltext indexing. I want to rename these classes to be more standard (IndexEngine, IndexEngineExtension, etc). Rename SearchIndexer to IndexEngine. A future change will rename SearchEngine.
- Add the index locks described in T9890.
- Structure things a little more normally so future diffs can do the "EngineExtension" thing more cleanly.
- Maniphest Tasks
- T9890: Version and lock search index rebuilds to reduce the cost of runaway writes
T9979: Build support for ngram indexes for substring searches (e.g., file, paste, package, task titles)
- Restricted Diffusion Commit
rP2447d9bdf270: Begin improving modularity of IndexEngine, add locks
- Renamed a task to have a unique word in the title.
- Ran bin/search index Txxx.
- Searched for unique word.
- Found task.
- Added a sleep(10) after the lock() call.
- Ran bin/search index Txxx in two windows.
- Saw first one lock, sleep 10 seconds, index.
- Saw second one give up temporarily after failing to grab the lock.