Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 15.01.2019 12:09:14

Какие варианты Spinx-а вы знаете

Хочу прикрутить у себя на сайте поисковую систему Sphinx и вот хочу спросить кто какие плагины использовал для Laravel 5
вот мне попался этот https://github.com/sngrl/sphinxsearch

Как вы считаете остановиться на нем или может есть более лучшие разработки?

Не в сети

#2 16.01.2019 17:49:43

Re: Какие варианты Spinx-а вы знаете

ElasticSearch. Без вариантов)

Не в сети

#3 23.01.2019 14:51:45

Re: Какие варианты Spinx-а вы знаете

Неужели такая огромная будет БД? ))
На одном проекте хорошо разобрался и реализовал FullText (мускл 5.7 InnoDB) и в итоге при размере БД в 6КК строк в основном в трех таблицах (1гиг с индексами), ищет почти мгновенно. И никакие надстройки не понадобились.

Не в сети

#4 23.01.2019 15:33:58

Re: Какие варианты Spinx-а вы знаете

Azmandus, я может быть, чего не знаю.. но как на mysql сделать нечеткий поиск, например?
"почти мгновенно" - это вообще ниочем. Сколько в сухих цифрах?

Не в сети

#5 23.01.2019 17:55:57

Re: Какие варианты Spinx-а вы знаете

Не, нечеткий никак, тут действительно ElasticSearch нужен будет.
Хотя смотря какая задача, есть библиотеки синонимов для полнотекстового, а можно просто побаловаться с зачисткой окончаний слов - "ручка", "ручку", "ручкой" искать как "ручк".
Сухие цифры - с отключенным кешированием, в т.ч. и SQL_NO_CACHE во всех запросах, при всех параметрах фильтра, и наличии слова для поиска (разные для каждого теста), document в браузере получаю в основном за 0,07-0,5 сек. Сам запрос, в отдельности, протестировать в ближайшее время не смогу. Как то так.

Не в сети

#6 26.01.2019 15:09:19

Re: Какие варианты Spinx-а вы знаете

На одном проекте хорошо разобрался и реализовал FullText (мускл 5.7 InnoDB) и в итоге при размере БД в 6КК строк в основном в трех таблицах (1гиг с индексами), ищет почти мгновенно.

У меня в одном проекте с ~5 млн строк (в одной таблице) поначалу тоже был FULLTEXT-индекс от MySQL, но, видимо, у нас разная структура данных и/или поиска. У меня каждый документ это где-то 50 индексируемых слов, а каждый запрос может содержать десяток слов в разной конфигурации (т.е. с операторами). На MySQL в какой-то момент времени поиск стал занимать секунды, перешел на Sphinx - поиск сократился до долей секунды (на 2 порядка).

Еще большой плюс Sphinx (либо отдельной системы хранения вроде Redis только для поиска) в том, что добавлять/обновлять данные в огромной таблице с FULLTEXT под нагрузкой нереально. У меня импорт 100к записей, если не отключать сайт, занимал часы, при этом хоть сайт и был скорее жив, чем мертв (для пользователей), но все жутко тормозило из-за параллельного обновления индекса. А Sphinx - это отдельная надстройка, он может легко обновляться частично и/или на лету без особых проблем с производительностью.

Минус только в том, что изначально связку Sphinx и MySQL нужно настроить, но зато дальше полет нормальный.

хочу спросить кто какие плагины использовал для Laravel 5

Насчет плагинов ничего не могу сказать (проект не на Laravel), но зачем они нужны, если у Sphinx такой же интерфейс, что и у MySQL?

Не в сети

Подвал раздела