The Solr-Based Search Engine Solution
The system of a European Wi-Fi Internet provider was significantly updated. The team added a Google-like search, refactored the architecture, and updated queries to the database to improve performance. In addition, the new solution serves as an intelligent tool that analyzes user preferences and helps to improve promotional strategies and create targeted advertising and content. It can be used to evaluate quality of services, gather statistics, and build detailed reports.
The customer operates a large Wi-Fi network infrastructure and has offices all around Europe. They use mobile networks to help other businesses enhance brand promotion strategies and deliver high quality mobile connectivity services.
Apart from access to the Internet, the company gives its customers access to a variety of internal content and services, such as tourist information, hotel booking, taxi services, and much more. For this purpose, the company wanted a fast search engine that would find relevant information among multiple pieces of data and not overload the main system.
Due to its architecture, the customer’s legacy solution used to send a lot of queries to all parts of the network, causing system performance to slow down dramatically. The company wanted to extend existing functionality and add new Web-based services, such as tourist information, including sightseeing recommendations and descriptions, taxi and hotel booking, and much more.
However, the new content module could compromise system performance. This is why, one of the main tasks was to separate the content service module from the main system in order to avoid slowdown.
In order to test system performance and feasibility of the project, Altoros decided to develop a prototype. The team used three servers provided by the customer in a master-slave arrangement with the Puppet management solution for configuration and management. We uploaded all the content to a different storage to separate user authorization functionality from search queries. Solr was used for advanced search through the content.
As the result, users can now search content by text as well as by tags. The system features auto suggestion and various data filters. New information is regularly uploaded by the crawler that visits a list of specified Web sites. Then it indexes and adds all this data to the content database. Users can search content in three languages, including English, French, and Dutch.
The system performance increased by 1,000 times due to updated architecture, optimized queries, and improved search. The customer was impressed by the suggested solution and the improvements they were able to achieve.
Client Platform/Application Server
Solr, Apache Hadoop, Apache ZooKeeper
Database Design Tool
Sparx Enterprise Architect
IntelliJ IDEA, Apache Maven, Navicat