Search server для сайта на PHP
Есть сайт на PHP под Linux. Нужно прикрутить поиск, чтобы очень быстро работал и смог проиндексировать много документов.
Какой?
Есть сайт на PHP под Linux. Нужно прикрутить поиск, чтобы очень быстро работал и смог проиндексировать много документов.
Какой?
Был уверен, когда зашел в тему, что первым ответом будет Sphinx. Так и вышло.
Ожидаемо, т.к. последнее время проект довольно быстро развивается + недавно вышла вторая версия (хоть и альфа) с многими еще более вкусными вещами.
Использую уже чуть больше года в разных версиях (начинал с 0.9.9, потом транки
Имхо для класического поиска по контенту — сфинкс, для near real time search — lucene и производные
Максим, использовали Сфинкс для полнотекстового поиска в одном стартапе, который получил Demo God Award на конференции demo.com в Долине. После этого познакомились с автором — Андреем Аксеновым. Пригласили его дать мастер-класс. Так что совет — выбирай Сфинкс — есть документация, примеры + поддержка. Приглашаем на мастер-класс www.smartme.com.ua/...denie-v-sphinx
Обзор решений для полнотекстового поиска в веб-проектах: Sphinx, Apache Lucene, Xapian
— есть инкрементальный апдэйт индекса(в сфинксе я так понял эта фишка все еще в кандидат релизе)
— есть натч и эластиклюсин, которые кластеризируются(в сфинксе это тоже есть, но я когда то искал кто же эту фичу юзает, и какие отзывы, и ничего не нашел)
— есть много дочерних проектов — солр например
— более правильная лицензия на случай если захотите продавать свой продукт с люсин внутри
Преимущества сфинкса:
— производительней(в инете бенчмарки где то видел)
— нормальные типы данных для дат и чисел, в люсин когда я смотрел все нужно было превращать в стринги, т.к. она только с ними работать умеет, что в определенных ситуациях создавало проблемы
— язык запросов вроде богаче
— если хочется вытащить из индекса много данных, то у люсин огроооомный оверхед по памяти -> вылеты по OutOfMemoryException, а сфинкс намного круче в этом плане оптимизирован
— интеграция с mysql & postgres — sphinx виден из бд как обычная табличка по которой можно делать селекты с s like ’...’
14 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів