DB Management


Background

Searching for flights online has become a common task for anyone wishing to travel. Current flight websites do not fully cater towards people who do not know exactly where they are going, such as people looking to go on holiday. An exploratory search system has been developed to allow users to explore available destinations while searching for flights. Users are able to enter queries in plain text such as: "I would like to go to a romantic location with a beach for under R15000" and the system will show users flight results of only romantic destinations with a beach and with a price range between R0 and R15000. This project was suggested by the company: Travelstart.

The project was split up into 4 sections. These include the UI design, the query formulation, the database management and the results ranking. Each section aimed to process the query and pass it on to the next section. This page is focused on the data-management section of the project.

The data-management section was needed to handle the insertion, retrieval, initialization and updating of destination data. This system looked to manage the linking of keywords to destinations to allow searching for data under categories. As an example, a search for: "Romantic destinations" would return destinations under the category: "Romantic" such as Paris.


Goals

The system would be developed using an agile approach to deliver multiple system requirements set out by Travelstart.

System development methodology

  • Keyword based queries that return flight destinations stored under the entered keyword.

  • Access additional information on resulting destinations after a query has been made.

  • Retrieve results for basic queries such as an entered destination or date.

  • Fetch real-time flights from Travelstart to display to users.

  • Access and store image urls from DBpedia for each available destination as well as additional destination information from Travelstart.

  • Store a relevance factor for keyword-destination pairs that is updated by the user when a user selects a destination

  • Allow the user to enter new keywords for any destination.

  • Normalize and dampen keywords to prevent single dominating keywords and keep keywords in a specific weight range.


Results

A system was developed to allow for users to make exploratory searches for holiday destinations by searching using keywords. The system linked destinations to keywords and defined how relevant each keyword was to a destination. This relevance factor was dynamically updated through user input in the interface. Through experimental evaluation, the system is shown to function correctly when used both short and long term. The system is able to normalize and dampen keyword relevance to make sure many keywords remain relevant. DBPedia was successfully used to access image data on 70% of available destinations. This image data was linked to destinations in the database.


Contact me

Dylan Henderson

Dylan9h@gmail.com