Lập chỉ mục toàn văn
Có các công cụ như recoll , swish-e và sphinx nhưng bạn phải kiểm tra xem chúng có thể hỗ trợ loại tiêu chí tìm kiếm bạn cần không.
Nhớ lại
Recoll là một công cụ tìm kiếm toàn văn bản cá nhân cho Unix / Linux.
Swish-e
Swish-e là một hệ thống nguồn mở nhanh, linh hoạt và miễn phí để lập chỉ mục các bộ sưu tập các trang Web hoặc các tệp khác.
Nhân sư
Sphinx cho phép bạn lập chỉ mục hàng loạt và tìm kiếm dữ liệu được lưu trữ trong cơ sở dữ liệu SQL, lưu trữ NoQuery hoặc chỉ các tệp nhanh chóng và dễ dàng
grep
Tôi ngạc nhiên grep chậm như bạn mô tả, bạn có thể giảm số lượng tệp được tìm kiếm không? Ví dụ: khi tôi chỉ cần tìm kiếm các tệp nguồn cho một tệp thực thi (trong số nhiều tệp trong một dự án) Tôi cung cấp grep các tên từ một lệnh liệt kê các tệp nguồn cho chương trình đó:
grep expression `sources myprogram`
sources
là một chương trình dành riêng cho môi trường phát triển của tôi nhưng bạn có thể có (hoặc có thể xây dựng) một cái gì đó tương đương.
Tôi cho rằng bạn đã thử các kỹ thuật rõ ràng như
find /foo/myproject -name "*.c" -exec fgrep -l searchtext
Tôi đã đọc một đề nghị rằng -P
tùy chọn hiện tại grep
có thể tăng tốc đáng kể các tìm kiếm.