10. A system to provide graphical user interfaces comprising filtered flight itineraries, comprising: a storage device; and one or more computers configured to execute application code instructions stored in the storage device to cause the system to: receive a flight search query, the flight search query including a plurality of parameters; determine a plurality of itineraries that satisfy the parameters of the flight search query, wherein each itinerary comprises values of particular features; for each itinerary of the plurality of itineraries that satisfy the parameters of the flight search query: determine a feature vector based on values of one or more features of the itinerary, and assign a weight for each of the one or more features of the feature vector; cluster, based on the feature vectors of the plurality of itineraries and the assigned weight for each of the one or more features in each of the feature vectors, the plurality of itineraries into a plurality of clusters, wherein each of the plurality of clusters is generated to have particular values for one or more of a plurality of features associated with the plurality of itineraries that satisfy the parameters of the flight search query; generate one or more primary filters corresponding to one or more of the plurality of clusters, wherein each primary filter has the particular values of the one or more features identified by the corresponding cluster; transmit, to a user computing device, instructions to display a graphical user interface via the user computing device comprising the plurality of itineraries that satisfy the flight search query and the one or more primary filters for filtering the plurality of itineraries; receive, from the user computing device, an input from the user computing device indicating a selection of one or more primary filters in the graphical user interface; and in response to receiving the input from the user computing device indicating the selection of one or more primary filters in the graphical user interface: re-cluster the itineraries of the plurality of itineraries that satisfy the selected one or more primary filters to generate one or more secondary filters, and transmit, to the user computing device, instructions to update the display of the graphical user interface to display the one or more secondary filters and itineraries that satisfy the selected one or more primary filters.
10. A system to provide graphical user interfaces comprising filtered flight itineraries, comprising: a storage device; and one or more computers configured to execute application code instructions stored in the storage device to cause the system to: receive a flight search query, the flight search query including a plurality of parameters; determine a plurality of itineraries that satisfy the parameters of the flight search query, wherein each itinerary comprises values of particular features; for each itinerary of the plurality of itineraries that satisfy the parameters of the flight search query: determine a feature vector based on values of one or more features of the itinerary, and assign a weight for each of the one or more features of the feature vector; cluster, based on the feature vectors of the plurality of itineraries and the assigned weight for each of the one or more features in each of the feature vectors, the plurality of itineraries into a plurality of clusters, wherein each of the plurality of clusters is generated to have particular values for one or more of a plurality of features associated with the plurality of itineraries that satisfy the parameters of the flight search query; generate one or more primary filters corresponding to one or more of the plurality of clusters, wherein each primary filter has the particular values of the one or more features identified by the corresponding cluster; transmit, to a user computing device, instructions to display a graphical user interface via the user computing device comprising the plurality of itineraries that satisfy the flight search query and the one or more primary filters for filtering the plurality of itineraries; receive, from the user computing device, an input from the user computing device indicating a selection of one or more primary filters in the graphical user interface; and in response to receiving the input from the user computing device indicating the selection of one or more primary filters in the graphical user interface: re-cluster the itineraries of the plurality of itineraries that satisfy the selected one or more primary filters to generate one or more secondary filters, and transmit, to the user computing device, instructions to update the display of the graphical user interface to display the one or more secondary filters and itineraries that satisfy the selected one or more primary filters. 14. The system of claim 10 , wherein generating the one or more primary filters using the clusters comprises selecting one or more clusters having a highest associated quality score.