CastleCMS Feature of the Week: ElasticSearch - Scalable Search, Meaningful Results
Both individuals and enterprises alike have come to know the struggle of organizing and utilizing vast collections of information in the 21st century. Thankfully, we have ElasticSearch to help, along with the generous stack of integrated products its creators provide. Let's take a look at some of its most notable features, and the reasons why Wildcard has built CastleCMS to take full advantage of ElasticSearch.
Fast, Reliable and Secure:
Elasticsearch spreads out and replicates your data in a cluster of nodes which may be run on separate servers and storage devices. Not only does this mean that requests can be processed in parallel to increase speed, but that a problem with one server/node does not equate to downtime, or even hassle. With Elasticsearch, long-standing success stories might include several component failures which, in the end, recovered gracefully and have had no ill effect on the end-user's experience.
X-Pack Security is another essential tool provided by the Elastic stack. Data integrity is maintained by a secure authorization system which can be integrated with the ones you already use (such as LDAP or a PKI system). As well as ensuring that only authorized users gain access to your data, ElasticSearch allows for encryption of all transmissions to, from, and within your cluster.
Powerful Query Language:
Simple on the surface, yet deeply flexible and capable. A new user should be able to get up and running with ElasticSearch in minutes, but there is much more to learn about its well-documented query language. Find your content simply based on the text it contains, or search using filters with any level of complexity in order to break down your results in terms of publication date, author, or any number of tags and other unique values you choose to associate with them.
To quote Elastic's introduction to Kibana, its complimentary analytics software, "a picture's worth a thousand log lines." That is to say, what data set is complete without some straight-forward graphics to help you see how, when, and by whom your data is being used? "It's not just pretty, it's powerful."
ElasticSearch is one of those products that "just works" in a containerized setting, e.g. as a Docker image. This makes developing a product that uses ElasticSearch simple and portable.