Открыть сервис

Amazon CloudSearch

Amazon CloudSearch — это управляемый облачный сервис для полнотекстового поиска, предоставляемый компанией Amazon Web Services (AWS). Сервис позволяет разработчикам интегрировать в веб-приложения и мобильные приложения функциональность поиска по большим объёмам структурированных и неструктурированных данных без необходимости развёртывания и администрирования собственной поисковой инфраструктуры. Amazon CloudSearch автоматизирует такие задачи, как индексация данных, обработка запросов, ранжирование результатов и масштабирование вычислительных мощностей в зависимости от нагрузки.

История

Сервис Amazon CloudSearch был анонсирован компанией Amazon Web Services 10 апреля 2012 года и запущен в коммерческую эксплуатацию в мае того же года. Изначально он позиционировался как альтернатива самостоятельному развёртыванию поисковых систем на базе Apache Solr или Elasticsearch, требующих от разработчиков ручного управления кластерами, настройки шардирования и репликации.

В 2013 году сервис претерпел существенное обновление: была добавлена поддержка 34 языков, включая русский, а также возможность настройки синонимов, стоп-слов и пользовательских весов для полей. В 2014 году Amazon CloudSearch интегрировали с AWS Lambda, что позволило автоматически обновлять индексы при изменении данных в Amazon S3 или Amazon DynamoDB. В 2016 году появилась поддержка поиска на основе фраз и геопространственных запросов.

Архитектура и принцип работы

Amazon CloudSearch работает по модели «поискового домена» (search domain). Каждый поисковый домен представляет собой изолированный экземпляр поисковой системы, состоящий из одного или нескольких индексов, размещённых на виртуальных машинах AWS. Пользователь загружает данные в сервис в формате JSON, XML или CSV, после чего CloudSearch автоматически строит индекс на основе заданной схемы.

Схема данных определяет типы полей (текстовые, числовые, даты, геопространственные, литеральные) и их свойства: возможность поиска, сортировки, фасетирования, возврата в результатах. После загрузки данных и построения индекса сервис предоставляет конечную точку (endpoint) для отправки поисковых запросов через HTTP/HTTPS.

Компоненты системы

Классификация и возможности

Типы поиска

Amazon CloudSearch поддерживает несколько режимов поиска:

Ранжирование

По умолчанию результаты ранжируются по релевантности на основе TF-IDF (частота термина — обратная частота документа). Пользователь может настроить пользовательские выражения ранжирования, комбинируя текстовую релевантность с числовыми полями (например, рейтинг товара или дата публикации). Поддерживается взвешивание полей: например, заголовок документа может иметь больший вес, чем тело текста.

Фасетирование

Сервис позволяет группировать результаты поиска по значениям определённых полей (фасетов). Например, для интернет-магазина можно вывести количество товаров в каждой категории или ценовом диапазоне. Фасеты вычисляются на лету без дополнительных запросов.

Автодополнение

Amazon CloudSearch поддерживает функциональность автодополнения (suggestions) на основе частичного ввода. Для этого необходимо определить поле-источник подсказок и указать, какие данные использовать для генерации предложений.

Применение

Amazon CloudSearch используется в различных сценариях, где требуется быстрый и масштабируемый поиск по большим объёмам данных:

Ограничения и альтернативы

Amazon CloudSearch накладывает ряд ограничений по сравнению с самодеплойными решениями:

Альтернативами Amazon CloudSearch являются:

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →