Building search-based analytics with ChartFactor
This article shows how ChartFactor components can be used to build data applications that enable users to search, explore, and visualize ElasticSearch data natively.
ChartFactor is a component-based toolkit that speeds up the implementation of data applications that are scalable and easy to use.
The current situation
What if you need to provide a high quality guard-railed search and analytics experience to your executive team? What if you’d like to also provide a first class mobile experience. Your data is stored is ElasticSearch and you are using Kibana to explore and visualize the data but what you really need to build your data application are components, building blocks to quickly create the desired visualizations and interactions.
Limitations of current technologies
On one hand, you can build your data application from scratch, including accessing and aggregating the data, implementing promise resolutions and callbacks, mapping the data to visualizations, formatting and rendering labels, legends, tooltips, and many other details. Add to that security integration and making sure your application is not only beautiful but also easy to interact with.
On the other hand, you could deploy a BI server. Putting aside the cost, this will switch your effort to accessing the data using the BI-provided SDK and integrating with their security framework. If using its query API, you still need to perform all what is described in the first paragraph above but instead of using the ElasticSearch API, you would be using the BI server’s query API. If using the BI embed feature, the available charts may not include labels, legends, tooltips, and other components that you will end up developing yourself.
In both cases above, creating this data application can prove to be more costly and difficult than initially thought and eat up valuable development resources, not to mention testing resources once you factor in cross-browser and cross-device testing.
ChartFactor components are here to the rescue. These are building blocks that allow you to assemble your data application with speed and quality, no matter the web or mobile framework being used. ChartFactor is a modular, future-proof approach to implement data applications wherever the data is located, be that behind a BI server, in a big data store, or in a data streaming platform.
You can use your favorite web framework such as Angular or ReactJS or your favorite mobile framework such as Ionic, Mobile Angular UI, React Native, or Onsen UI. You can mix and match Chartfactor components to create your data applications. Finally, you can leverage the security framework your enterprise is already using.
In the following two videos, I show how to visualize log entries stored in ElasticSearch using ChartFactor components. You will see that:
Visualization components work with a few lines of code
The ElasticSearch data provider component automates the aggregating and searching
Time filtering components allow users to filter by time windows of different lengths
Search component allows users to perform ad-hoc text searches using the popular Lucene Query Syntax
High performance raw data table allows users to dive into details fast and scroll quickly across the whole data set
Components integrate easy between each other for full interactivity
ChartFactor Studio as a container of ChartFactor components. ChartFactor studio is built using the ChartFactor toolkit, React.js, and Materialize css.
Part 1: Visualizing log entries stored in ElasticSearch using ChartFactor components
Part 2: Analyzing logs stored in Elasticsearch using ChartFactor Studio
In summary, ChartFactor components allow to visualize ElasticSearch data interactively and natively with just a few lines of code to power your most demanding data applications.