It's pretty hard to find a website that doesn't have a search bar somewhere. Sometimes it's front and center, and other times it's behind a 🔎 in the upper right hand corner. Either way, you probably use them often when searching the web. But have you ever thought about what goes into building that search experience? I know I didn't until working on a web application at a previous job.
We used an Apache Solr search server indexed with production data so that users could quickly find what they were looking for. The problem was that every time our PM put in a feature request regarding a change to the search experience, the development process looked something like:
Update the Solr document schema
Update the ETL that indexed the data
Refactor the Java-Spring Boot API that we had sitting between Solr and our UI
Refactor the React-Redux UI to account for changes to the API
I tried to create the most concise list I could for the sake of this guide, but each step could take multiple days depending on a multitude of factors.
I joined Yext as a Developer Evangelist because I wanted to show developers that there's an easier way to build search-based applications. This is the first in a multi-part series around building a modern search-based web application with the Yext Platform utilizing data from IMDB.