Generic search engine vs vertical search engine

Sorl is a vertical search engine. A vertical search engine performs your search on a certain number of pages or documents.

In front of the Solr type vertical search engines, we would find the generic search engines or horizontal search engines, such as Google. Google tracks all the pages it is capable of on the Internet.

vertical searh vs horizontal search

Solr allows the use of search filters: what is a filter

A filter is a search tool that allows the user to narrow their search. This restriction could be done, for example, by type of documents or by geographical location, etc.

Let's see an example of filtering on the Netflix website, which uses Solr. Let's look at the attached image:

search filters with Solr

In this case we have filtered the search results on Netflix, by the genre of the film, indicating that we want you to search for "comedies". Below are the Netflix catalog movies that meet the criteria of being comedies.

Facet search in Solr: what is facet search

Searching by facets is similar to filtering, however in the case of searching by facets, filtering suggestions are presented to the user.

Therefore, it helps the user to narrow the search without the user having to guess how to narrow it.

Let's see an example of Netflix faceted search, let's look at the attached image:

faceted query with Solr

In this case, when searching for movies, the Netflix website itself has given us a series of alternatives for our searches by genre.

Solr allows classifying results: what is classifying results

Sometimes, when performing a search, for example of electronic stores, we want the results to appear ordered according to some criteria, for example, the score that users have given them.

This would consist of a search where it is classified: the search results are presented ordered by some criteria.

classifying results with Solr

In the image, it is observed that Netflix makes a classification and presents the 10 most popular series from most to least, so that in addition to presenting the results of a search, it sorts them according to some criteria, in this case the criteria of popularity.

Solr is based on NoSQL technology: What is the difference between a SQL and a NoSQL database?

SQL Databases are structured and relational databases, while NoSQL databases are non-relational and unstructured.

We can imagine a relational database as a table with rows that are the records (for example, student1, student2, etc.) and columns that are the fields (for example, Math grade, Literature grade, etc.).

tabla relacional

In contrast, non-relational databases do not have an identifier that serves as a link between one set of data and others. This will be very useful when we don't have an exact outline of what is going to be stored.

base de datos no relacional

So non-relational databases, or NoSQL, are more flexible and do not need to know in advance what information is going to be stored and how it is going to be stored.

So, if we are going to build a database from a series of text documents whose information we do not know beforehand, we will need the flexibility of a NoSQL database.

bases de datos sql vs bases de datos nosql

However, Solr provides some additional functionalities compared to purely NoSQL technologies such as Mongo (here you will find many more), such as faceted search or search classification. This article discusses the elements that Solr takes from the NoSQL and SQL databases.