There is a phrase I use all the time: “Search is one of the most misunderstood functionalities in IT”. And I think it is very accurate.
The problem lies in two different aspects:
- Developers don’t know how to use search engines. And it is ok, search engines can be hard to tune appropriately and it is a specialised niche. In some cases, there are some search engines which are awfully expensive.
- Developers are lazy. Let me explain this one.
Let’s say that I am setting up an application for selling cars. Potential customers always look for the same things, which are make, model, year, sort by price and so on and so forth. There is a set of meta data that is important and required to find what you are looking for. So what is the solution to this problem?
Use a database where each field is stored in a separate column and look for the fields accordingly, just like in the following image. It is a mistake or at least a UX horror. I hate database driven search, but that is just my personal opinion.
The correct wat of doing it is by providing a single search box. How? Like this:
If you want to learn how, please click on the following link to my Pluralsight course to get started with enterprise search using Apache Solr!