Not all searches are the same. The requirements for Amazon search, for example, are completely different from the requirements for Google search. But which search engine and which functions are the right ones for my website? With a short overview of common search functions and a presentation of the three most used onsite-searches in TYPO3 this blog post should help to answer this question.
FEATURES OF AN ONSITE-SEARCH
Tech giants like Google offer us various helpful, supporting and guiding functions on their platforms, which we now perceive as standard. Behind them are often complex systems, so using them on your own website is not always so trivial.
One of these features is the autocomplete function: as you type, suggestions are made for the automatic completion of words that have already been partially typed in. "Typ..." becomes "TYPO3". The technical basis for this is usually a dictionary, from which suitable completions are searched and suggested during the input.
AUTOSUGGEST / PREDICTIVE SEARCH
The terms Autocomplete and Autosuggest (better "Predictive Search") are often used synonymously - but they refer to different features. Predictive Search gives the user suggestions for complete search entries. For example, for the user input "TYPO3", "update TYPO3" and "install TYPO3" are suggested. The suggestions are usually based on the entries that other users have made in the context. Inputs have to be tracked, followed up and checked for quality by the system.
FUZZYSEARCH / ERROR-TOLERANT SEARCH
Another convenience feature, also known as "unclear search", is fuzzy search. Users mistype or enter search terms in a declined form. However, a simple search will only find exact matches. For example, if the user performs a search for "beds", entries containing the word "bed" are not listed as results. Fuzzysearch does not use the exact user input as a search criterion, but also strings that are similar to the input. Even incorrect entries such as "TÜPO3" would return results for "TYPO3" in a well-configured fuzzysearch.
SYNONYMOUS SEARCH TERMS
In many areas there are terms that are used synonymously. This is also true, for example, when English terms have found their way into the language (e.g. application and application). If the user now searches for one of these terms, hits for the other term should also be displayed.
A faceted search offers the user the possibility to narrow down the search result by adding further criteria. Which criteria are useful varies from project to project. A typical example is narrowing down using metadata: Show only results of a specific category, a specific author or a specific data type such as press releases. This feature is very familiar from webshops, where we can granulate the search result for products by color, dress size, material, etc.
SEARCHENGINES IN TYPO3
There are a number of onsite searchengines available for TYPO3. The three most used ones are briefly presented here.
Since TYPO3 version 9 the "Indexed Search" is part of the core of TYPO3 and therefore part of every TYPO3 project. In order to use the Indexed Search, it only has to be integrated into the template and the search result pages (SERPs) have to be styled. Essentially, this search engine finds content that is actually output on the website and only in this exact form. Also, as another limitation, only content that is cached can be found by search.
Indexed Search cannot take meta information into account in the search and, as a pure full-text search, cannot handle synonyms or word stem similarities. Modern features such as autocomplete, predictive search or faceting of search results are also not provided. Another disadvantage is that the search puts a load on the web server and is therefore unsuitable for websites with extensive content or many simultaneous queries.
Also, the frequent requirement to enrich the entries in the search results with additional images or further meta information cannot be achieved with Indexed Search, or only with significant additional effort.
KE Search is available in two versions: As a free basic variant and as KE Search Premium for 790 euros.
A number of useful functions are already available in the basic variant: Search results can be faceted by tags or categories, for example. In addition to pages, news, events and other data records from TYPO3 can also be included in the search index. Furthermore, KE Search offers simple keyword statistics in the backend, which can be used to draw conclusions about the use of the search.
In the premium version, features such as Autocomplete and the consideration of synonymous search terms are added.
KE Search also uses the resources of the web server. Especially when using MySQL, special features and limitations come into play; for example, it is not so easy to find very short search terms. This has to be considered especially if products or similar are advertised with short terms on the website itself.
While Indexed Search and KE Search have been developed explicitly for TYPO3, Solr is a searchengine developed by the Apache Software Foundation that can be used platform-independently. Of course, there is a corresponding extension for TYPO3, which significantly reduces the effort of integration.
Also in contrast to the above mentioned searches, Solr does not run as part of the TYPO3 application, but on its own Solr server. This makes the search very flexible to use. Another advantage of the Solr server is a relief of the TYPO3 server, so that Solr is ideal for extensive web projects with a lot of traffic.
Solr offers all conceivable features from autocomplete, predictive search and synonymous keywords via extensively configurable faceting. Even searches for terms with the same root can be implemented with Solr.
Of course, Solr can be used to search all desired data records of a website.
Furthermore, Solr is perfectly suited to implement highly individual requirements. For one customer, for example, we implemented a system that searches several independent websites across the board and also displays search results for the group's subsidiaries (marked accordingly) on the group's parent page.
IN A NUTSHELL
TYPO3's own Indexed Search is only suitable for small websites. Whether an onsite search is useful and necessary at all here, however, must be examined in detail. Often a good navigation and user guidance is more target-oriented - especially since the results of a mediocre search tend to disappoint the user spoiled by Google & Co. Better no search than a bad one.
KE Search is already in the basic version a good tool for medium and small websites that do not want to do without a search. With a little effort, searches with advanced features can also be realized.
For web projects with extensive data sets, high visitor numbers or special search requirements, Solr is the perfect choice. Almost every conceivable requirement can be realized here.