#laravel #search #full-text-search #algolia #laravel-scout
#laravel #Поиск #полнотекстовый поиск #algolia #laravel-scout
Вопрос:
Я немного использовал Algolia, и это потрясающий сервис. Я также использовал драйвер TNT-search для scout, и он тоже довольно хорош, но на самом деле не дотягивает до возможностей, скорости и простоты, которые вы получаете с Algolia.
К сожалению, Algolia становится очень дорогой при работе с большим количеством записей — например, одно из наших приложений содержит более 10 миллионов строк с возможностью поиска, что составляет тысячи долларов в месяц!
Кто-нибудь добился успеха в использовании обоих вместе? т. Е. Я хотел бы использовать Algolia для последних записей или категорий, где мне нужны более расширенные возможности поиска (100 тыс. Записей), а затем использовать TNT search для остальной части.
Редактировать:
Ответом был Elasticsearch. Это немного сложнее в настройке, но обладает такой большой гибкостью. Я бы настоятельно рекомендовал https://github.com/matchish/laravel-scout-elasticsearch чтобы легко подключить его к Laravel Scout.
Комментарии:
1. Вы можете попробовать мой драйвер elasticsearch для scout github.com/matchish/laravel-scout-elasticsearch
Ответ №1:
Что ж, AWS Elasticsearch очень хорош и дешев .. вы можете использовать его, и он очень прост в использовании и настройке с laravel AWS Elasticsearch цены Вы можете начать с r3.large.elasticsearch это будет стоить вам около 180 долларов в месяц, и если вы хотите больше r3.xlarge.elasticsearch тоже будет потрясающими это послужит вам.
чтобы настроить AWS Elasticsearch с помощью laravel, вы можете прочитать эту статью с инструкциями по интеграции вашего приложения Laravel с Elasticsearch
Ответ №2:
Elasticsearch уже предложен в другом ответе в качестве экономически эффективной альтернативы. Но если вы ищете что-то похожее на Algolia, но с открытым исходным кодом, ознакомьтесь с Typesense . Это должно быть проще в настройке и управлении, а также такие функции, как исправление опечаток и т. Д., Просто Работают из коробки.
Ответ №3:
Этот ответ может быть запоздалым, но если у кого-то все еще есть эта проблема, в Laravel scout есть searchableUsing()
метод, который определяет используемую поисковую систему, вы можете переопределить его, чтобы настроить разные драйверы поиска для разных моделей. В этом блоге пошагово описано, как это сделать