Analytical,
Multidimensional,
and Simple

Our Technology

A New Way to Index Data

At the heart of our technology is an innovative and modern index. We build from the ground up to meet the demands of fast-paced and agile companies that need a more insightful approach to searching and analyzing data.

Multidimensional

As we become more data-centric, the importance of identifying all things and events by the many attributes and details that characterize them is proving to be increasingly important. This explosion of data gives us the opportunity to interact with and use data more meaningfully, to gain better and more important insights, and to be more efficient with our search and discovery.

This multidimensional view of the world is where we started. We developed and patented a new way of organizing data that enables our index to efficiently handle n-number of attributes, where n is virtually limitless. This faceted classification of data, coupled with other advancements, enables our index to perform parallel analysis across every dimension of data simultaneously. Further, this multidimensional understanding of data enables relationships between objects to be uncovered, understood, and analyzed. You can now have it all.

PARALLELANANALYSIS2

The index can be queried using as many dimensions as needed (in addition to full-text support). For each query, the result is analyzed across each and every dimension, delivering a snapshot overview of the context. Even at scale, this sequence of events performs exceptionally well to drive real-time search and analysis of indexed data.

Analytical

A centerpiece of our multidimensional index is its analytical capabilities. This index is highly efficient at massive parallel analysis across all facets of data — a feat made possible by our innovation in performance and our faceted classification of data.

As an effect, queried results can include a profiling of the data to provide a detailed understanding of the context and content returned. For each facet (dimension), all possible values undergo a frequency analysis, are sorted, and are returned to the application.

These returned facets can in turn be used to provide an incredible array of granularity when exploring a given data set. Filters can be created to engage with the data and visualizations or charts can be produced to represent it.

The Power of Our Index

  • A multidimensional approach
  • Optimized to handle highly categorized data
  • Empowers search and analysis of structured and unstructured data
  • High-performance, massive parallel analysis of facets
  • Real-time profiling of results across each facet to understand context and results

Native Dynamic Faceting

Data is efficiently organized along a faceted classification with our multidimensional index at the core. This native faceting is the foundation of our index’s ability to adapt in real time, allowing for a dynamic analysis of data along each facet even as you type.

More Metadata

The more structure that exists or can be extracted from the data, the more meaningful and deep the index can go. Our index stands apart from others in that we don’t have an upper limit to the amount of metadata or number of attributes used to describe an object. You get more insights, more granular understanding, and an unparalleled experience of discovery.

Search within a facet

Facets are not only indexed as a means of analysis, they are also searchable. Any given facet may contain hundreds or thousands of results. While an analysis of the returned content is performed against each value within a facet, you may be particularly interested in the analysis of a specific value. We’ve opened up the API to allow for a direct query to search within a facet.

This functionality not only provides a useful way of accessing and understanding your data, it also exemplifies the extent of analysis the index is performing. Our index not only surfaces the most important bits of information contained within each facet, it performs a complete value-by-value analysis of your data — all of your data.

Facet Sorting

Gaining a rapid understanding of data using facets is only achievable if you can quickly summarize the most important values of each facet. Sorting solves this problem. Whether the most important values surface based on their frequency of occurrence, their alphabetical or numerical order, or a custom dictionary, our index supports the best way to engage with facets.

Relationships

Extensive use of metadata to describe objects and events allows for a granular understanding of things, providing exceptional insights, uncovering hidden but important details, and enabling better decisions. Just as important, if not more, is an increased granular understanding of how things relate to each other.

Our index not only exposes relationships between objects that are the same, it also allows for defining how two disparate objects relate to each other. In doing so, correlations, dependencies, relevance, and the general connectedness of data is revealed. It’s a whole new world.

The value of metadata is amplified when it can be used to uncover the relatedness of things. Understanding how data is connected allows for a truly multidimensional understanding and analysis.

More Data, More Insights

  • Real-time analysis of content across all facets
  • Interact with more metadata for insight and discovery
  • Easily power flexible visualizations and charts
  • Uncover the relatedness of your data
  • Faceted classification empowers your data

Full-Text & Phrase Searching

While our index is built for and differentiates itself with analytical faceting and a multidimensional understanding of data, we have ensured the more traditional power of full-text and phrase search remains. The technical challenge was to incorporate these two different objectives — a multidimensional index and a traditional index. We achieved this through innovation and performance optimization.

Configurable Full-Text Searching

Our full-text index is treated as a special facet with a particular type of indexing algorithm. In our setup, a full-text index is completely configurable as to which pieces of content are included. This both provides granular customization and allows for optimization. Full-text searching happens in real time and can be used for suggestions as you type.

Adaptive N-GRAM Phase Search

In addition to full-text searching, we have also included phrase searching as an important aspect of traditional indexes. Using an adaptive n-gram model, phrase searching is achievable and highly configurable per use-case for optimized performance. N defines the largest possible phrase that will be indexed and has an upper limit of infinity if needed. At these high n-values, the adaptive nature is important. The effective n is calculated based on the individual data record.

If n is smaller than a given phrase, the phrase will be broken up optimally and multiple phrase searches will be performed with an “and” query. This process allows for smaller n-values to produce a high-probability exact phrase match on even large phrases.

Search Every Way

  • Advanced full-text search tailored to you
  • Optimized phrase search
  • Boolean query support
  • Trailing wild cards
  • Simultaneous full-text and faceted searching

High Performance

One of the largest challenges to enable a multi-dimensional and analytical index was performance. This fact was a primary motivator behind building our index from the ground up.

In addition to ensuring high performance, efficiency was also paramount. And with that efficiency came the need for scalability. We spent considerable time working to allow our index to work effectively on as little hardware as possible. This ongoing effort is important to our definition of scalability.

True In-Memory Index

While an in-memory index is something that is often disclaimed as a feature of an index, not all in-memory indexes are equal. The benefit of loading an index into memory is clear and contributes to substantial speed increases.

We didn’t simply load our index into memory, we made in-memory a fundamental truth of our index. From the beginning, we decided that trends in hardware and software were sufficient to build an index that only supported in-memory storage. This translates into an index that is optimized for storage in-memory (as opposed to on disk), which then translates into significant performance increases over other indexes that are loaded into memory but optimized for use on disk.

Native Faceted Structure

Our faceted classification of data is at the heart of our innovation. We fundamentally changed the way data is indexed, and by doing so, enabled massive parallel analysis of facets to create a truly multidimensional service. Say goodbye to large bucket categorization. Now data can exist as unique items made up of the many attributes that make them unique. This is a level of understanding that embodies the future of search and analysis.

Performance-Enabled Capabilities

  • Built for in-memory
  • Optimized for massive amounts of facets
  • Highly efficient for easier scalability
  • Near real-time performance
  • Easily handle large multidimensional queries

Simple & Fast Implementation

From the beginning, we wanted to be a different kind of enterprise company. We focused on building a service that developers could appreciate. We focused on simplicity, one of the most challenging conditions to achieve. We focused on an implementation that wouldn’t require months of preparation, consulting, or work to get up and running. We ultimately wanted to make a product that could provide immediate value, was enjoyable to use, and had endless possibilities.

REST and JSON

Our flagship product, Fuse, is a service layer that encompasses our index and other technology. We chose a RESTful architecture that used JSON for data interchange because we strongly believe that adhering to the standards of REST provides a familiar and enjoyable experience when interacting with our index. We also like its simplicity, large adoption, and the many libraries that ease the effort of working with it. It’s pretty much the whole package.

JSON is a more modern way of data interchange. Again, it’s simple and has excellent support, especially for progressive front-end technologies. And we’re not done figuring it out. Keep checking in with us as we continue to innovate with JSON-LD to provide a more expressive and semantic interchange. It’s the perfect marriage of simplicity and ease.

Abstracted Data Model

Getting data into an index can be a challenging endeavor, especially when pulling data from multiple sources, combining it, or relating it. We find it works best to use an abstracted data model to simplify this task.

Our data model relies on identifying primary objects and their attributes. While objects can be related to each other, this is a departure from a traditional RDBMS. Often data is denormalized to make more sense in an object-focused data model.

ABSTRACTED_DATA3

Choosing a way of doing things is important when combining data from disparate systems and methods of storage. An object-focused data model that is abstracted from the source data provides incredible simplicity and flexibility when working with our multidimensional index. The abstracted data model allows for an application to be uncoupled from the source data, unconcerned with how many and what types of data sources populate the index, and ultimately provides a better and clearer representation of the data.

We’ve built a great developer tool for easily creating data models and their related index schemas to make this process painless and informative.

Data Import API

Our index is completely standalone. Fuse provides an easy import API for sending data to the index in accordance with the associated data model. Importing data requires an intermediate layer that sends a JSON representation of data to the index. This simple step allows the index to remain uncoupled from the environments it lives in. Changes to the data, data sources, or business logic can be made outside of Fuse with no interruption to service or dependency.

Hours, Not Weeks

  • Decoupled from source data
  • Developer-friendly RESTful service layer
  • Consistent and easy import for any type of data
  • Simple-to-define data model
  • Quick deployment package

Autonomous Front End

While Fuse wraps our index in a service layer that enables the simple creation of a front end or integration into an existing one, we’ve built our own standalone search interface to get you up and running with almost no effort. Its basic configurations are up to you, and it leaves the source completely open for you to manipulate.

ANGULARJS

AngularJS powers our front end. We love the two-way data binding and ease for building modern single-page applications. Our autonomous front end is completely written in JavaScript, and we use it for all applications we build. Whether it is a Spark or an example project to demonstrate the capabilities of Fuse, we rely on the same source. Thus, all improvements in features and performance are pushed across every product we have.

Faceted & Discoverable Search

A tenant of our front end is our extensive list of dynamic filters. These filters more or less mimic the defined facets and are dynamic in that they represent an analysis of the current result set. The analysis updates in real time as the query changes and provides a granular way to build your query in context.

These filters allow you to find the specific data item you need, efficiently. They also provide a profile overview of your data, encouraging the discovery of hidden value. And we’ve built the interface to capitalize on the capabilities of the facets.

Easily Configurable

To allow our autonomous front end to be used as broadly and for as many use cases as possible, we’ve included both a configuration file and some user configurations baked into the front end UI. Default facets and functionality can be set, the environment can be set up, and options can be overridden.

In addition to settings, the UI source is completely open. You can change the styles, templates, and anything you see fit.

A Modern UI

  • No-fuss front end with zero effort
  • Completely open for you to tinker with
  • Autonomous and works in any environment
  • Basic configurations built in
  • Standardized across all of our products

You’re Part of Our Product as Well

A large part of our development is driven by customer response. We love the interaction of the community and want to hear what you think. Drop us an email or join the conversation in our user group and we’ll respond to your feedback.