Сегодня наступила эра облачных вычислений и роста объема данных. Современные приложения производят данные со скоростью PB и ZB, но люди по-прежнему предъявляют более высокие и быстрые требования к производительности. С накоплением данных быстрый и эффективный поиск этих данных становится проблемой для внутренних служб. В этой статье мы сравним две самые популярные поисковые системы с открытым исходным кодом в отрасли-Solr и Elastic Search. Оба они построены на платформе Apache Lucene с открытым исходным кодом. Их основные функции очень похожи, но есть также огромные различия в простоте использования, масштабируемости и других функциях. Об Apache Solr
Apache Solr основан на известной поисковой системе с открытым исходным кодом Java Lucene. Lucene-это скорее программный пакет, чем поисковая система. Solr завершает инкапсуляцию lucene, которая является реальной платформой поисковой системы. За последнее десятилетие Solr вырос и имеет широкую базу пользователей. Solr обеспечивает распределенную индексацию, фрагментацию, набор реплик, балансировку нагрузки и функции автоматического перехода на другой ресурс и восстановления. При правильном развертывании и хорошем управлении Solr может стать высоконадежной, масштабируемой и отказоустойчивой поисковой системой. Многие интернет-гиганты, такие как Netflix, eBay, Instagram и облачный поиск, используют Solr. Основными функциями Solr являются: Полнотекстовый индекс, выделяющий фасетный поиск, индекс в реальном времени, динамическая кластеризация, интеграция с базами данных, функции NoSQL и расширенная обработка документов (таких как файлы Word и PDF). Об эластичном поиске
Как и solr, Elasticsearch построен на базе библиотеки Apache Lucene, а также является поисковой системой с открытым исходным кодом. Elasticsearch вышел через несколько лет после запуска Solr. Он предоставляет распределенную многопользовательскую полнотекстовую поисковую систему с помощью документов REST и JSON без схем (для которых не требуется предварительно определенная схема, Solr требуется предварительно определенная). Он также официально предоставляет Java, Groovy, PHP, Ruby, Perl, Python,. Клиенты NET и Javascript. Распределенные поисковые системы содержат индексы, которыми Huawei может делиться. Каждый осколок может иметь несколько реплик. Каждый узел Elasticsearch может иметь один или несколько срезов, и его механизм одновременно действует как координатор, перенаправляя операции в правильные срезы. Эластичный поиск может быть расширен до поисковой системы квазиреального времени. Одной из ключевых функций является функция мультитенантности, которая может индексироваться в соответствии с различными целями и может работать с несколькими индексами одновременно. Основными функциями эластичного поиска являются: Распределенный поиск по нескольким арендным запросам