ElasticSearch, referred to as ES, is an open source, highly scalable, distributed full-text search engine. It is more convenient to use than solr
Elasticsearch is a Lucene -based search server. It provides a distributed multi-user capable full-text search engine based on a RESTful web interface. Elasticsearch, developed in the Java language and released as open source under the terms of the Apache license, is a popular enterprise-grade search engine. Elasticsearch is used in cloud computing to achieve real-time search, stable, reliable, fast, and easy to install and use
Elasticsearch is a distributed, highly scalable, high real-time search and data analysis engine. It can easily enable large amounts of data to be searched, analyzed and explored. Taking full advantage of the horizontal scalability of Elasticsearch can make data more valuable in the production environment. The implementation principle of Elasticsearch is mainly divided into the following steps. First, the user submits the data to the Elasticsearch database, and then uses the word segmentation controller to segment the corresponding sentence, and stores its weight and word segmentation results into the data. When the user searches for data At that time, the results will be ranked and scored according to the weight, and then the returned results will be presented to the user.
Lucene is the core of ElasticSearch
Elastic is based on Lucene and has made some encapsulation and enhancements to make it very easy for us to get started
Compared
Solr provides an API interface similar to Web-Service
ElasticSearch hides the complexity of Lucence through a simple Restful API, making full-text search easier
selection
Solr is faster when simply searching existing data
When building an index, Solr will generate IO blocking, and the query performance is poor. ElasticSearch has obvious advantages
As the amount of data increases (large data volume), Solr's search efficiency will become lower, but ElasticSearch has no significant change
Summarize
1 ElasticSearch is out of the box, very simple Solr installation is a little more complicated
2 Solr uses Zookeeper for sub-management, while ElasticSearch has its own distributed coordination management function
3 Solr supports data in more formats, such as JSON, XML, CSV, while ElasticSearch only supports JSON file format
4 Sorl query is fast, but it is slow to update the index (slow insertion and deletion). It is used for e-commerce and other applications with a lot of queries. ElasticSearch builds indexes quickly, that is, queries are fast, and is used for searches such as Facebook and Sina.
5 Solr officially provides more functions, while ElasticSearch itself focuses more on core functions. Advanced functions can be provided by third-party plug-ins. For example, the graphical interface requires kibana support
6 Solr is a powerful solution for traditional search applications, but ElasticSearch is more suitable for search applications in the new era
7 Solr is relatively mature, with a larger, more mature user, developer and contributor, but ElasticSearch thinks that there are fewer developers and maintainers, and the update is too fast