Использование ElasticSearch идеально подойдет для вашего случая использования.Цитирование с сайтаasticSearch -
Elasticsearch - это распределенный поисковый и аналитический движок RESTful, способный решать растущее число вариантов использования.
Кластеры ElasticSearch - это группаузлы каждый работает служба ES.Для хранения ваших данных и обеспечения их возможности поиска вы определяете индексы (индекс - это, в основном, структура, которая определяет, как ваши данные выглядят), определяя отображение индекса.
{
"settings" : {
"number_of_shards" : 1
},
"mappings" : {
"students" : {
"properties" : {
"studentId" : { "type" : "keyword" },
"admissionDate" : {"type":"Date"}
}
}
}
}
Вы можете прочитать больше о отображенияхотсюда - ElasticSearch Mappings
Хорошее место, чтобы начать ваше общее путешествие сasticSearch - прочитать начальную документацию - ElasticSearch Getting Started
Операции CRUD для индекса в ES предоставляются - API индексов
Вы сохраняете (индексируете) данные в индексе ES - API документов
Вы можете осуществлять поиск в своих индексированных данных с помощью различных API-интерфейсов поиска, которые предоставляет ES - API-интерфейс поиска и Query DSL (Query Language for ES) - ES Query DSL
Если вас интересует распределенная система, вы можете создать кластер с несколькими узлами, каждый из которых будет работать на отдельном сервере, а ES внутренне заботится о маршрутизации.Запросы между различными узлами в кластере.Простое добавление правильного имени кластера в узелasticsearch.yml добавит этот узел в кластер.