Our Notes

Posts about research, open source and technologies.

Why You Should Choose Your DBMS's Full Text Search Over a Dedicated Search Engine

At Sophilabs, we are used to seeing the following architecture: relational DBMS for data storage, structured queries and manipulation, and a separate search engine for search. However, many DBMS support full text search. PostgreSQL, our favorite one, supports full text search since at least version 8.3, released in 2008.

If your project already uses a DBMS and you are uncertain whether to use a dedicated search engine, today we will share 3 reasons why you should not.

1. Simplicity

Simple is better than complex.

— The Zen of Python

Okay, so this is an easy one. Why work with two different systems when you can just work with one? We are probably talking about systems which understand different languages, have different dependencies, and will of course consume resources on their own. Each dependency you add to your project is a liability for your team. If you can keep it simple, please do!

  • Complex Outer Joins with Django’s FilteredRelations

    Django's ORM is great, and it keeps getting better. Today we will look at a problem that is trivial to solve with plain SQL but, until recently, couldn't be solved with the ORM without resorting to more complex (and often less performant) approaches.

  • How We Do Code Reviews

    Thorough code reviews are an important part of how we deliver state-of-the-art web and mobile apps that users love. In this post, we walk through our process step by step.

  • The Scrum Pillars at Sophilabs: Adaptation

    In our final installment of our Scrum Pillars series, we'll take a look at how adaptation happens in Scrum and how our teams stay adaptive throughout every sprint.

  • The Scrum Pillars at Sophilabs: Inspection

    In this second installment of our Scrum Pillars series, we look at how we practice inspection in every sprint.

Sign up to receive a monthly summary.