За последние 24 часа нас посетили 34773 программиста и 1755 роботов. Сейчас ищут 916 программистов ...

Поиск в локальной папке

Тема в разделе "Прочие вопросы по PHP", создана пользователем zarapyan, 16 апр 2010.

  1. zarapyan

    zarapyan Активный пользователь

    С нами с:
    16 апр 2010
    Сообщения:
    52
    Симпатии:
    0
    Ума не приложу как это сделать, существует локальная папка в которой содержится архив pdf-файлов (~4Гб), эта папка прикручена к сайту с помощью файл-менеджера. требуется сделать поиск(по этой папке) на сайте с возможностью отображения или скачивания информации от туда. Пробовал разные скрипты (Risearch, Rusearch, etc.) ниасилил не один.
     
  2. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    glob() or scandir()
    + file_get_contents
    + stripos() or preg_match

    but only for text files
     
  3. zarapyan

    zarapyan Активный пользователь

    С нами с:
    16 апр 2010
    Сообщения:
    52
    Симпатии:
    0
    благодарю, за ответ. Но можно поподробнее объяснить (честно говоря только осваиваю язык и программирование в целом)
     
  4. akrinel

    akrinel Активный пользователь

    С нами с:
    26 янв 2009
    Сообщения:
    955
    Симпатии:
    1
    Адрес:
    Spb
    Mr.M.I.T., сколько интересно пользователей осилит сервер если scandir+file_get_contents юзать для поиска? ;)




    zarapyan, мне лично поиск в 4-х гигабайтах pdf файлов посредством PHP представляется не вполне логичным.
    Я бы сделал как-то так:

    1. Прочел PDF.
    2. Создал табличку в БД.
    А-ля: id файла | название файла | путь к файлу | содержимое.
    3. Поставил Sphinx
    4. Проиндексировал содержимое нашей таблички
    5. Ну и в результате получил более-менее быстрый поиск.

    P.S. Если не любите читать по английски или "много букаф":
    У глубоко уважаемого товарища adw0rd был цикл статей на тему Sphinx.
     
  5. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    akrinel
    если делать не через жопу, то сотни тысяч
     
  6. akrinel

    akrinel Активный пользователь

    С нами с:
    26 янв 2009
    Сообщения:
    955
    Симпатии:
    1
    Адрес:
    Spb
    Mr.M.I.T., 4Gb?... Словосочетания?.... Слова в разных формах?....
    Короче покажи свое решение, любопытно взглянуть.
     
  7. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    не покажет.
     
  8. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    akrinel, 1. словарь получится максимум метров 50 - в худшем случае (это я примерно ляпнул, очень-очень сомневаюсь, что перевалит хотя бы за 30). 2. никто же не говорил и не спрашивал об алгоритме поиска.

    Знай только потребление памяти оптимизируй: режь словари на подгруппы, жги книги, бей баб.

    В советские времена обходились без всяких там "Сфинксов". :)
     
  9. akrinel

    akrinel Активный пользователь

    С нами с:
    26 янв 2009
    Сообщения:
    955
    Симпатии:
    1
    Адрес:
    Spb
    lexa, да я понимаю что без всего можно обойтись и все работать будет мега круто и там будет только "Собственный теплый ламповый код"™. Можно даже и без кода обойтись, нанять 100 000 человек и заставить выучить каждого по чуть чуть информации из архива... Вот только нахрена? :)
     
  10. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    akrinel
    с другом сегодня обсуждали устройство поисковой машины гугла
    пришли к выводу что там сидит 1ккк китайцев у каждого открыт вордовский документ со словами и относящимися к ним сайтам) по команде через icq они начинаю бешено искать, скидывают результаты в статичные html файлы которые потом отдаются пользователю ))
     
  11. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    akrinel, because we can. :)
     
  12. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    0)Составляешь список документов
    1)Составляешь список слов в документах
    2)Сопостовляешь каждому слову подходящие документы
     
  13. zarapyan

    zarapyan Активный пользователь

    С нами с:
    16 апр 2010
    Сообщения:
    52
    Симпатии:
    0
    Эээ.... это все очень и хорошо и всем огромное спасибо за ответы, но чтение самого PDF мне не требуется, т.к. это в основном изображения со скана, нужно чтобы поиск велся по названиям файлов.
     
  14. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
  15. zarapyan

    zarapyan Активный пользователь

    С нами с:
    16 апр 2010
    Сообщения:
    52
    Симпатии:
    0
    А можно немного поподробнее?
     
  16. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
  17. zarapyan

    zarapyan Активный пользователь

    С нами с:
    16 апр 2010
    Сообщения:
    52
    Симпатии:
    0
    Извини, я повторюсь - я немного слабоват в программировании, алгоритм кода мне непонятен.
    PHP:
    1.  
    2. # <?php
    3. #  print_r(glob('./dir/a*.pdf'));
     
  18. zarapyan

    zarapyan Активный пользователь

    С нами с:
    16 апр 2010
    Сообщения:
    52
    Симпатии:
    0
    Благодарю за ответы! Я нашел другое решение ! Тему можно закрыть!