Что вы можете сделать, это сохранить свой собственный файл поиска.Это отдельный файл json, который содержит идентификаторы (имена файлов) и связанные с ними внутренние данные даты.Это также даст вам возможность добавлять любые дополнительные данные, которые вам могут понадобиться для поиска / сортировки.Недостатком этого метода является то, что вам нужно убедиться, что поисковый файл и фактические файлы синхронизированы.Это означает, что везде, где вы CRUD свои данные, вы также должны убедиться, что поиск обновляется.Альтернативой этому является создание программы, которая периодически выполняет длительное сканирование всех ваших файлов и создает файл поиска.Это позволяет вам не редактировать файл при всех изменениях, но ограничивает актуальность файла поиска.
Все выигрыши в производительности обычно являются компромиссом между мем / кэшированием и сложностью.
Единственный другой важный вопрос: проверяли ли вы на самом деле производительность вашей системы на наличие реальных узких мест?Вы уверены, что вам даже нужно оптимизировать это?