Building Real-Time Search in Your App: Beyond Text Search and Elasticsearch
The ability to support many different types of queries without having to reshape your data is particularly helpful when building real-time search and analytics. We compare how using Elasticsearch and Rockset impacts the query flexibility you have.
Going beyond the realm of text search, SaaS applications commonly offer users the ability to search and filter across many different fields in the data. This type of search feature can be challenging to build, especially when results need to reflect real-time data and user queries are not known in advance. It may require queries to be rewritten in a way the database supports or data to be restructured or indexed in specific ways to ensure good query performance.
In this talk, we explore different ways of building real-time search functionality into SaaS applications, using databases like Elasticsearch and Rockset. We’ll draw upon our experience advising development teams on this process and discuss the importance of being able to query in different ways without having to reshape your data. Topics to be discussed include:
- Indexing strategies- Indexing is key to delivering the low query latency needed by real-time search. Inverted indexes are generally used for text search and are very helpful for implementing search functionality in applications. Beyond just inverted indexes, another approach is to index data in multiple ways, also known as converged indexing, so different types of queries can benefit from indexing.
- SQL or domain-specific language- SQL allows for greater familiarity among developers and support for a full range of aggregation queries. In comparison, a domain-specific language may present users with more limitations in the functionality and ecosystem it supports.
- Support for joins- Developers may need to work around a lack of join support by denormalizing the data at ingest or writing an application-side join. The ability to do joins allows developers greater flexibility when analyzing their data.
About the Speaker
David Brown has been helping customers architect solutions with different Fast and Big data solutions for over 20 years. At Rockset, David helps customers determine if the product is a good fit, helps place it in a comprehensive architecture, provides assistance during evaluation and stays involved with customers as they progress in their Rockset journey. He lives in San Diego, CA and is on the 'top two' list of favorite humans for a pair of Rottweilers.