The New Search Engine
Have you ever searched for a request, but just couldn't find it? You knew the words used in the request, but no matter what variation you tried, your search came up dry! We certainly did, and so we set out to improve search in HelpSpot. Version 4 introduced searching with the Sphinx Search engine, which vastly improves the searching engine used to find content within requests, forums and knowledge books. Searching in HelpSpot 3 used the database, and so it suffered the limitations of the supported databases. While you may guess that databases are great for searching, the opposite is often the case for text-based searching!
The DatabasesMySQL, the most commonly used of the three supported databases, allowed for "FULL TEXT" searching, which required the use of a storage engine called MyISAM. This storage engine had the drawback of locking an entire table when records were being added or updated. The result of this was slowness in the system. For example, users may have had to wait for a filter to finish finding requests because tables were locked while other people were responding to requests, or the system was reading new emails. In a busy system, this locking created performance issues. The other two supported databases (PostgreSQL and SqlServer) didn't have this limitation, but were also sub-par in how they performed text-based searches. When HelpSpot was created, we had to suffer through this, as there were not viable alternatives. Luckily for us, that's no longer the case!
Sphinx SearchWith the introduction of the Sphinx Search engine, HelpSpot can now quickly and efficiently search through all of HelpSpot's data. This is a two-pronged improvement:
- Sphinx Search has much, much, MUCH more advanced ways of indexing and searching through text.
- HelpSpot is free to use better storage engines (InnoDB in MySQL) to improve performance and reduce issues while writing new data to the database.
Day-to-Day UsageSphinx Search is used to search all requests, forums and knowledge books anywhere HelpSpot searches, such as:
- Within HelpSpot sidebar search and advanced searched
- The API
- The customer Portal
- Text searches within automation rules, triggers and mail rules.