Dec 18th, 2023
by Emmanuel Keller, 3 min read
To achieve an efficient and comprehensive search experience, it is pivotal to have a deep understanding of both the technology and user needs. At SurrealDB, we embarked on this journey with a clear goal: to create a solution that upholds the integrity and simplicity of our ACID SQL database while delivering unparalleled user experience.
Our efforts initially revolved around Lucene-based solutions like Solr, ElasticSearch, and the Java library. These established technologies offer robustness and efficiency, but integrating them would have necessitated an additional Java runtime, similar to MongoDB’s approach with Atlas. Alternatively, the Rust-based solution, Tantivy, offered a modern and performance-oriented choice.
Two primary concerns guided our decision-making process:
Neither Tantivy nor Lucene are inherently ACID-compliant, posing a significant challenge.
At SurrealDB, we view ACID (Atomicity, Consistency, Isolation, Durability) compliance not just as a feature, but as a fundamental pillar for database integrity and reliability. This commitment to ACID principles played a pivotal role in our decision to develop our own full-text search capabilities.
Integrating full-text search capabilities while preserving these ACID properties ensures that our users experience not only powerful and flexible search functionality but also the reliability and trustworthiness that is synonymous with SurrealDB. By upholding these standards, we deliver a robust and consistent user experience, vital for applications that depend on the accuracy and integrity of their data.
The successful implementation of our full-text search is just the beginning. SurrealDB is now gearing up for exciting advancements, including the support of vector search. This new feature will optimize exact (KNN) and approximate (ANN) neighborhood queries, further enhancing our database’s capabilities. Our journey into vector search represents our continuous commitment to innovation, delivering sophisticated yet user-friendly solutions.
As we move forward, SurrealDB remains dedicated to pushing the boundaries of database technology, ensuring that our users have access to the most advanced and reliable tools in the industry.
Stay tuned as we continue to redefine what’s possible in the world of databases.
To try out Full-Text search for yourself, install SurrealDB and check out our beginner blog to get started. Do share your experience with us on Discord.