Рекомендация поисковой системы для 100 сайтов объемом около 4000 страниц

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

Что бы вы порекомендовали мне изучить?

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

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


person fwkb    schedule 26.04.2010    source источник
comment
Это выглядит как запрос на рекомендацию программного обеспечения, которое принадлежит Super User.   -  person David Thornley    schedule 28.04.2010


Ответы (3)


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

При этом мне нравится использовать Xapian с его Python привязки. Это довольно быстро и легко настроить.

Вы также можете использовать solr, который имеет файл API Python. Solr написан на Java, но пусть вас это не смущает, так как он лучше всех работает. Вам просто нужно запустить java-сервер, чтобы это заработало.

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

person digitaldreamer    schedule 26.04.2010

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

person Reto Aebersold    schedule 26.04.2010

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

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

person Mikos    schedule 27.04.2010