DevGang
Авторизоваться

ElasticSearch против Algolia

Несколько месяцев назад, работая в социальной сети @Previando, которая объединяет группы друзей, мне нужно было ускорить поиск групп.

Итак, первый шаг состоял в том, что использовать для ускорения поиска?

У меня было два варианта: Algolia и ElasticSearch.

Я использовал Algolia в приложении для электронной коммерции, это очень хороший продукт, и вот несколько моментов, которые необходимо учитывать:

Преимущества:

  • Несколько внутренних SDK для упрощения синхронизации индексов.
  • Front-end SDK для развития вашего поиска
  • Легкое и быстрое внедрение.
  • Легко сделать запрос поиска из внешнего интерфейса

Недостаток:

  • Дорогая, эта модель ценообразования основана на количестве сохраненных записей и количестве операций, выполненных с API.

Изначально у вас есть бесплатный план, начиная с 10k записей и 100k операций, но если вы хотите иметь больше записей или вам нужно сделать больше операций, стартовый план начинается с 35$ в месяц, и он увеличивается на 25$ за 50k записей и 10$ за 100k операций. Поэтому, если у вас большой набор данных, Algolia не для вас.

Это удивительный продукт!

Теперь давайте немного поговорим о ElasticSearch. ElasticSearch был для меня в новинку, но он был очень похож на Algolia, хотя требуется больше времени, чтобы понять, как его использовать и как его интегрировать.

Преимущества:

  • Как и в Algolia, он имеет несколько внутренних SDK для синхронизации индексов.
  • Кроме того, он имеет интерфейсные SDK.
  • Дешевле, чем Algolia, когда ожидается большое количество записей, например, 500 тысяч.
  • Анализ данных с помощью Kibana.

Недостаток:

  • Сложнее интегрировать. Необходима дополнительная работа для синхронизации индексов.
  • Нужно определять типы данных атрибутов индекса.
  • Понять, как сделать запросы. Сложный запрос - это огромный JSON.

Давайте поговорим о ценах ElasticSearch, это зависит от того, где вы его используете. В настоящее время есть три возможности:

  1. AWS ElasticSearch.
  2. ElasticSearch как сервис от Elastic Cloud.
  3. Развертывание вручную на ваших собственных серверах.

Конечно, любой из них имеет свои преимущества и недостатки. Очевидно, что третье - самое дешевое и сложное решение. Я бы не стал использовать третье решение, если бы я не тратил слишком много на AWS или Elastic Cloud.

Если вы не собираетесь использовать третий вариант, решением будет Elastic Cloud или AWS.

Я бы выбрал Algolia, если бы записи, которые я планировал иметь, были меньше 400 тысяч, то есть из-за их цены, немного завышенной. Вы можете использовать их потрясающий калькулятор.

Ключевым фактором для нас была цена, поэтому мы выбрали ElasticSearch, размещенный на Elastic Cloud.

Если вы используете Rails, как я, некоторые из перечисленных здесь гемов могут быть вам полезны.

Источник:

Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

В этом месте могла бы быть ваша реклама

Разместить рекламу