Wenn Du Dir ein eigenes DM baust, hast Du natürlich alle Möglichkeiten, es für Deine Bedürfnisse exakt abzustimmen. Und das kann man ausführlich machen und viel Zeit investieren.
Es gibt viele fertige Lösungen dafür, wie schon vorgeschlagen. Ich schlage vor, schau Dir mal die Volltextsuche von Postgres an. Sie bietet sehr viele Möglichkeiten, gute Performance und ist nur eines der vielen guten Features dieser
DB. Du sparst Dir ein separates Produkt für Deine Anwendung.
Wenn Du Datenbank unabhängig sein willst und diese "Spezialaufgabe" einem "Spezialtool" anvertrauen willst, dann wäre sowas wie das vorgeschlagene Elastic wahrscheinlich die bessere Wahl.