PHP для поиска в 30000 текстовых файлов - PullRequest
1 голос
/ 03 июля 2010

У меня есть каталог из примерно 30 000 текстовых файлов, и я хотел бы найти внутри каждого из них, чтобы найти, содержат ли они указанный текст. Как я могу сделать это эффективно в PHP?

Ответы [ 5 ]

3 голосов
/ 03 июля 2010

grep твой друг. Вы можете использовать одну из функций php, которая позволяет выполнять внешние команды для ее вызова, если по какой-то причине вам нужен результат внутри скрипта PHP.

1 голос
/ 03 июля 2010

1) Используйте grep, как указано выше

2) Кэшируйте результаты поиска, чтобы вам не приходилось искать 30 000 текстовых файлов по одному и тому же поисковому запросу.

0 голосов
/ 08 октября 2010

все ли файлы останутся под тем же именем? Будут ли добавлены какие-либо файлы, или он установлен на 30,00? если все имена файлов останутся прежними, и никакие файлы не будут добавлены, я создам индекс (возможно, index.txt) и взорву его, чтобы получить имена файлов для ключевых слов.

0 голосов
/ 03 июля 2010

Также рассмотрите возможность создания поискового индекса, используя что-то вроде Lucene: http://lucene.apache.org/java/docs/index.html

0 голосов
/ 03 июля 2010

Как говорили другие, grep - ваш друг, сделайте системный вызов для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...