Раскрытый фильтр views или Search API. Какая разница по производительности?
20 октября 2017 в 23:48
Пятница.
Допустим в магазине очень много товаров. Свой "Амазон".
Поиск только по названию, можно сделать:
1) раскрытый фильтр views
2) Search API
3) может еще как-то...
Какая принципиальная разница, если и так и так находит?
Как понимаю во всех случаях происходит зарос к одной таблице БД-ы, в которой название товара находится.
Сколько товаров должно быть в магазине чтобы эта разница ощутилась?
- Блог
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Комментарии
Search API однозначно. Так как есть еще умные фильтры, в реальной магазине тем более не маленьком Search API безальтернативное решение из настраиваемых вараинтов, он может работал с солром в случае необходимости повышения производительности.
Умные фильтры это что?
Это когда значения опций одного фильтра зависят от выбранных значений другого фильтра. Например у тебя есть только красные майки XL размера, и в фильтрах тебе для размера XL не будет доступен зеленый цвет но будет показан так как есть зеленые майки L размера.
... в простонародье называемые фасетами)))
Фасеты пока не трогаем. Минимум строка поиска и все. Есть ли разница?
На кол-ве всегда есть разница особенно если заюзать солр
Или любой другой поисковый движок
Раскрытые фильтры - это раскрытые фильтры. Их можно использовать и с Search API, и с Apache Solr. Вопрос только в том, что вьюха изначально может быть построена либо по сущностям, либо по поисковым индексам. Насчёт скорости текстового поиска, думаю даже с Search API DB будет быстрее, т.к. Search API для индексирования текстовых полей применяет токенайзер. Естественно, что со всякими соларами да эластиками это будет ещё быстрее. И тут есть такой момент, если Search API DB изначально не даёт ощутимого прироста производительности, то оно даёт огромный выигрыш на будущее - можно будет например создать сервер на соларе и переключить индекс на него одним кликом мышки. А если с простых вьюх переходить на солар, то придётся все вьюсы создавать заново.
То есть? Только пожалуйста "на пальцах".