-
Notifications
You must be signed in to change notification settings - Fork 3
Thoth Predictor
The predictor is a supervised learning based module that predicts whether the execution time for a search request is going to be fast or slow. Based on this prediction, a query can then be appropriately routed to a slow or a fast pool. The idea behind having these pools separated is to ensure that regular, time critical search requests are not affected by potentially slow queries.
The predictor begins by fetching the latest dataset from the Thoth index. Based on a customizable slow query threshold, search requests are labeled as either fast or slow. A classifier is then trained based on these binary labels. The model and its parameters are then exposed via the API.
As a search request is received, it gets featurized and converted into a data instance. A previously trained model is then applied to the instance to predict if the search request will be fast or slow. Using this prediction, the request is routed to the appropriate pool.
Step 1 : Sampling and Creation of the Dataset
Step 2 : Model Training
Step 3 : Exposing Trained Model via the API
Step 4 : Monitoring the Health of the Model
Step 5 : Predicting with the Model