Поисковая рекомендация для 100 сайтов около 4000 страниц - PullRequest
1 голос
/ 26 апреля 2010

Я ищу поисковую систему, которая может регулярно (ежедневно) сканировать около 100 страниц на наличие изменений и индексировать связанный сайт, если обнаружены изменения с момента последнего сканирования. Он должен иметь возможность обрабатывать около 100 сайтов, каждый из которых в среднем 4000 страниц среднего размера около 5 000, каждый на своем сервере (но только на одной централизованной поисковой системе) Каждый из этих сайтов будет иметь форму поиска, которая будет отправлена ​​в эту поисковую систему. Возвращаемые результаты должны быть привязаны к сайту, который их отправил. Я создаю шаблоны для внешних сайтов, поэтому могу предоставить форме поиска скрытое поле, в котором указывается, с какого сайта отправляется форма.

Что бы вы посоветовали мне посмотреть?

Я бы хотел использовать для этого систему на основе Python, если это возможно.

В настоящее время я использую то, что называется iSearch2 . В этом масштабе он выглядит не очень стабильным, в описании продукта говорится, что он не предназначен для работы с несколькими сайтами, он написан на PHP (что мне менее удобно, чем на Python) и имеет несколько других недостатков для моего конкретного ситуация.

Ответы [ 3 ]

1 голос
/ 26 апреля 2010

Если вы ищете чистый поисковик Python, вы можете посмотреть на whoosh . Проблема со свистом в том, что это медленно и не так полнофункционально. Было бы хорошо, если ваш сайт не получает много трафика, но вам может понадобиться что-то более надежное для производства.

С учетом сказанного, мне нравится использовать Xapian с его привязками python . Это довольно быстро и легко настроить.

Вы также можете использовать solr , который имеет python api . Solr написан на Java, но не позволяйте этому обмануть вас, так как он лучший исполнитель из этой группы. Вам просто нужно запустить сервер Java, чтобы это заработало.

Поскольку я использую Django, я могу интегрировать стог сена в мои проекты, что облегчает переключение поисковых систем. Я буду использовать Whoosh для разработки, потому что его легко и быстро настроить (его можно установить в virtualenv), но в зависимости от моих потребностей разверните его с помощью Xapian или Solr.

1 голос
/ 26 апреля 2010

Я рекомендую PyLucene . PyLucene является расширением Python для доступа к Java Lucene и работает очень хорошо и быстро.

0 голосов
/ 28 апреля 2010

+ 1 для Lucene. Если PyLucene кажется сложным, вы можете посмотреть на Solr (это поисковый сервер на основе Lucene с HTTP-интерфейсом. Высокая масштабируемость, высокая скорость работы и очень хороший набор функций, таких как граненый просмотр, кэширование и т. Д. OOTB

Поскольку Solr основан на HTTP, вы можете подключиться к любому языку (включая Python), используя его RESTful API.

...