Фасетный поиск: elastic против sphinx

L
На сайте с 10.02.2015
Offline
221
990

Что лучше для фасетного поиска по массивам (множественному полю)?

IL
На сайте с 20.04.2007
Offline
435
#1
livetv:
Что лучше для фасетного поиска по массивам (множественному полю)?

Как-то не сыпятся ответы =) Хотя вопрос слегка "холиварностью" отдаёт..

Смотря что понимать под "лучше"...

И смотря что понимать под поиском по множественному полю?

- наличие одного элемента

- наличие всех элементов

+ какой тип поля (а также элемента массива) и как хранится..

И в том, и в другом есть встроенные средства..

Если подходит логика MVA - можно пользовать их.

В эластике тоже есть поиск по массивам.. =)

Есть, конечно, обзоры/обсуждения/сравнения

https://greenice.net/elasticsearch-vs-solr-vs-sphinx-best-open-source-search-platform-comparison/

https://db-engines.com/en/system/Elasticsearch%3BSphinx

https://toster.ru/q/70656

*) для ряда задач пользовал Sphinx - вполне устраивало, лучшее враг хорошего.

*) натыкался в разное время в разных источниках на информацию об открытых Elastic-ах.. и утечках данных - не забудьте озаботиться =)

Думаю, если оба под задачи подходят, есть смысл ставить-пробовать для конкретной конфигурации..

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
SeVlad
На сайте с 03.11.2008
Offline
1609
#2
ivan-lev:
Хотя вопрос слегка "холиварностью" отдаёт..

[офтоп]
Если знать ТСа - ничего удивительного :)
Перл на перле
[/офтоп]

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
L
На сайте с 10.02.2015
Offline
221
#3
ivan-lev:
И смотря что понимать под поиском по множественному полю?
- наличие одного элемента
- наличие всех элементов
+ какой тип поля (а также элемента массива) и как хранится..

Наличие одного из элементов.

Целочисленные. Но было бы здорово, если это были бы массивы объектов.

ivan-lev:
И в том, и в другом есть встроенные средства..

Вчера вечером смотрел sphinx.

Фасетный поиск работает.

Хотел завести, чтобы работал с массивом объектов. Но не завелось.

Типа в поле json хранить всю информацию.

Видимо придется раскидать по полям.

Столкнулся с неприятным багом в HeidiSQL, бросается warning на поиск по полю multi.

/* Ошибка SQL (1064): sphinxql: syntax error, unexpected LIMIT, expecting $end near 'LIMIT 5' */

Гугл не помог.

Спасибо, покурю вечером эти.

ivan-lev:

*) для ряда задач пользовал Sphinx - вполне устраивало, лучшее враг хорошего.
*) натыкался в разное время в разных источниках на информацию об открытых Elastic-ах.. и утечках данных - не забудьте озаботиться =)

Думаю, если оба под задачи подходят, есть смысл ставить-пробовать для конкретной конфигурации..

Что пока не нравится в эластике, так то, что он не имеет sql-интерфейса.

Придется ставить для пхп клиентскую библиотеку.

Что сейчас не нравится в сфинксе, так то, что он не ставится с репозиториев. А всю настройку нужно делать самому.

И еще вчера почему-то не подхватились конфиги. В итоге сфинкс начал сохранять свои данные в корне в своей папке.

Использую RT-индекс.

---------- Добавлено 10.09.2019 в 16:11 ----------

ivan-lev:
Как-то не сыпятся ответы =) Хотя вопрос слегка "холиварностью" отдаёт..
Смотря что понимать под "лучше"...

Что проще в поддержке, меньше кода.

В сфинксе вчера фасетный поиск по нескольким полям (именно фасеты) завелся.

Нужно просто дописать что-то вроде (пример для json)


facet json.filed1
facet json.filed2
facet json.filed3

Только и там и там проблемы с получением фасета по фильтруемому полю.

Как этот момент обойти хз.

Отправлять несколько запросов наверно.

В эластике можно одним запросом указать для разных группировок свои фильтры.

---------- Добавлено 10.09.2019 в 17:10 ----------

Ах да, минус эластика, что он прожорлив и на java

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий