Простейшая реализация поиска совпадений строк или их частей

Есть небольшое веб-приложение.

Есть Adverts(объявления) с title(название) и body(описание)

Как, используя hibernate (или хотя бы native slq), можно реализовать функцию поиска объявлений. Чтобы с запросом приходила строка и база искала совпадений.

Есть идея доставать все объявления и по ним уже встроенными в Java средствами искать, но это плохо, дорого и не правильно.

Пример запрос: машина

Примет выдачи:

1.                               2.
title: Продам машину             title: Игрушки
body: null                       body: в наличии машинки, куклы, бусы

Ответы (1 шт):

Автор решения: Alexey R.

Например, если нейтив sql всё-таки подойдет, можно разбивать каждое поле где есть текст, который необходимо обработать, на слова (в англоязычном SO есть вот такой пост), а затем, к каждому слову применить функцию расстояния левенштейна, которая в mysql вроде как тоже есть.

Соотв-но, задав некий порог "похожести" можно принимать решение о том, есть ли заданное слово в каком-то виде или какой-то форме в искомом тексте.

→ Ссылка