The Secret Behind DISCO’s Lightning-Fast Search Speed

Back to Blog Posts

At DISCO, we have an extraordinary focus on giving our users and clients a magical experience – from software usability to ease of doing business with us. DISCO was founded on the principle of combining world-class engineering with a deep love and respect for the law, and we wanted to share the groundbreaking work done by our engineering team.

#DISCOmagic is a blog series that takes you behind the scenes to show you some examples of all the hard work that goes into making this magic happen. This installment comes from Principal Product Manager Jordan Janes.

You enter a website address in your browser and in a fraction of a second you are taken to your destination. Ever wonder what all happens behind the scenes for your browser to decipher your input to open the correct website?

In order to get you to the correct website, out of 1.7 billion websites, dozens of steps happen in milliseconds, such as:

  • Your browser checks the cache for a DNS record to find the corresponding IP address for the URL
  • If the browser doesn’t find what it needs in the cache, your internet service provider initiates a domain name system query to find the IP address of the server hosting the URL
  • The browser initiates a connection with the server and sends an HTTP request
  • And let’s stop there before we end up talking about transmission control protocol!

Although there are many, many steps in the simple, everyday task of loading a website, the modern internet has condensed the complex process to mere milliseconds — so much so that we take this process for granted. 

Similarly, at DISCO, we have meticulously architected our search infrastructure to make the experience of searching for documents simple, lightning-fast, and magical.

Complex document searches made simple and magical

Just like loading a website, when you run a search in DISCO Ediscovery, we execute several steps in milliseconds to return the right documents out of the millions of documents in your review database:

  • Translate your search into an internal language our index understands
  • Break down your search request into attributes (keywords, work product, metadata, etc.)
  • Rapidly find all of the requested documents, often among a corpus of millions
  • Pull in family members to the search results if you requested them
  • Retrieve the individual value for each search results column included in your view
  • Sort the documents in the requested order
  • Update the search results on your screen

The list of search steps above is a very simplified version. DISCO has over 100 document attributes we allow you to search — arguably the broadest search expressiveness in the business. Attributes such as keywords, metadata (filename, custodian, etc.), work product (tags, notes, etc.), analytics (DISCO AI predictions, inclusive emails, etc.), and relationships (families, etc.) can be combined in one search, allowing for infinite complexity. Oh, and we support Westlaw/Lexis-style search syntax you likely learned in law school!

Continuously improving search performance

It’s essential that users can search within DISCO quickly, even across dozens of attributes — and we refuse to rest on our 1/10-second search-speed laurels. DISCO Ediscovery users run hundreds of thousands of searches each week, so making these searches even faster will save them hours of time over the course of a matter. 

Our platform and search teams evaluate and implement optimizations and new technologies to make search even faster. One recent example we rolled to all our users is improving the speed of returning the first set of documents, which led to search speeds 17% to 35% faster than before. Users can now  quickly run a search, open a few documents, and decide if they want to continue or run a different search, all in less time.

Search in DISCO

Another related optimization we implemented is fine-tuning how many documents are prefetched when our users scroll down the search results. Unlike other ediscovery platforms or even Google, we don’t paginate search results. We provide a single view of all your search results, even millions of documents, with an “infinite scroll.” So as a user scrolls down, we start prefetching the next set of documents even faster. This allows our users to seamlessly navigate the search results without waiting for the documents to load.

Constantly looking for how we can be even faster

There are many more granular details of running a search, but by optimizing every step of a feature used daily, we help you work more efficiently. 

Ediscovery searches come in many different shapes and sizes — from the humble search looking for keywords in PDF files to the full depth of 100+ negotiated search terms. For every search, we log and measure the search criteria, where the search originated within the product, and how much time each operation took. This helps us understand and improve search speed for the simplest searches, the most complex searches, and everything in between. 

Search is just one of many areas in DISCO where we invest in performance improvements. And best of all, we leverage our cloud architecture to deliver performance improvements to both existing and new matters.

Want to see DISCO’s search in action? Schedule a demo with us.

Subscribe to the blog
Jordan Janes