Как загрузить содержимое файла .txt для размещения на веб-сайте? - PullRequest
0 голосов
/ 09 февраля 2012

Я пытаюсь создать выдержки для каждого документа, возвращаемого в качестве результатов поиска на моем веб-сайте.Я использую поисковую систему Sphinx и веб-сервер Apache в Linux CentOS.Функция в API Sphinx, которую я хотел бы использовать, называется BuildExcerpts .Эта функция требует, чтобы вы передавали массив строк, где каждая строка содержит содержимое документов.

Мне интересно, как лучше всего извлекать содержимое документа в режиме реального времени, когда я передаю результаты в Интернете.В настоящее время эти документы находятся в моей системе в виде текстовых файлов, распределенных по нескольким дискам.Их примерно 100 мм, и они занимают несколько терабайт пространства.

Мне легко называть что-то вроде file_get_contents(), но кажется, что это неправильный способ сделать это.Мои базы данных уже гигантские (более 100 ГБ), и я не особенно хочу добавлять туда содержимое документа вместе с уже существующими атрибутами документа.Возможно, это лучший способ сделать это, однако.

Предложения?

1 Ответ

0 голосов
/ 09 февраля 2012

Ну, источник нужно откуда-то получить.Если вы не хотите дублировать его в своей базе данных, вам нужно будет извлечь его из файловой системы.(используя file_get_contets или аналогичный)

Хотя функция BuildExerpts дает вам одну дополнительную опцию «load_files»

..., тогда sphinx прочитает данные из имени файла для вас.

Какую проблему вы испытываете при чтении из файлов?Это слишком медленно?Если это так, возможно, используйте некоторое кэширование впереди - возможно, используя memcache.

...