A web application for the evaluation of the search algorithm of a second software as well as the visualization of the results is developed for a company in the food specialized wholesale trade. The aim is to be able to make significant statements about the quality of the search and changes to the search algorithm.
Supplement
The application to be developed consists of a front end and a back end. New evaluations of the search results are created and managed in the web-based frontend. In addition, the frontend offers a function to graphically display the results of the evaluation. In the backend, search queries are forwarded via RESTful interface to the application responsible for the search, and search results from this application are received again via the interfaces. The search results are then evaluated and stored in a NoSQL database (MongoDB) in JSON format. JavaScript frameworks (React, Redux, Material UI) are used to create the frontend and the backend is created on the basis of Java and Spring-Boot. In order to achieve more flexibility and efficiency in operation, the database, front end and back end are operated in separate docker containers. The application is developed using GitLab CI for version management and deployment.
Subject description
The application communicates via a dedicated interface with the backend of the search module to be evaluated. Search results returned are evaluated on the basis of a predefined test data set. The test data record contains the expected result documents for defined search queries. The documents determined by the search are compared with the expected documents and evaluated using Precision (https://en.wikipedia.org/wiki/Precision_and_recall). With the web application it is possible to start and visualize evaluation runs via a search algorithm. The results are visualized in the form of tables and graphs in order to obtain a quick overview of the quality of the search and the changes in quality over time. The automated evaluation of the search results reduces the processing time of individual evaluations and relieves the testers of monotonous tasks.