Повнотекстова індексація
Є такі інструменти, як відмовка , swish-e та сфінкс, але вам доведеться перевірити, чи можуть вони підтримувати потрібні критерії пошуку.
Відновити
Recoll - це персональний повнотекстовий інструмент пошуку для Unix / Linux.
Swish-e
Swish-e - це швидка, гнучка та безкоштовна система з відкритим кодом для індексації колекцій веб-сторінок чи інших файлів.
Сфінкс
Sphinx дозволяє вам або пакетний індекс, і пошук даних, що зберігаються в базі даних SQL, сховищі NoSQL, або просто файли швидко і легко
греп
Я здивований, що греп працює так само повільно, як ви описуєте, чи можете ви зменшити кількість шуканих файлів? Наприклад, коли мені потрібно лише шукати вихідні файли по одному виконуваному файлу (з багатьох у проекті), я подаю греп-імена з команди, в якій перераховані вихідні файли для цієї програми:
grep expression `sources myprogram`
sources
це програма, специфічна для мого середовища розробки, але ви можете мати (або вміти конструювати) щось еквівалентне.
Я припускаю, що ви спробували очевидні методи, такі як
find /foo/myproject -name "*.c" -exec fgrep -l searchtext
Я прочитав пропозицію про те, що -P
опція струму grep
може значно прискорити пошук.