Простейшая реализация поиска совпадений строк или их частей
Есть небольшое веб-приложение.
Есть Adverts(объявления) с title(название) и body(описание)
Как, используя hibernate (или хотя бы native slq), можно реализовать функцию поиска объявлений. Чтобы с запросом приходила строка и база искала совпадений.
Есть идея доставать все объявления и по ним уже встроенными в Java средствами искать, но это плохо, дорого и не правильно.
Пример запрос: машина
Примет выдачи:
1. 2.
title: Продам машину title: Игрушки
body: null body: в наличии машинки, куклы, бусы
Ответы (1 шт):
Например, если нейтив sql всё-таки подойдет, можно разбивать каждое поле где есть текст, который необходимо обработать, на слова (в англоязычном SO есть вот такой пост), а затем, к каждому слову применить функцию расстояния левенштейна, которая в mysql вроде как тоже есть.
Соотв-но, задав некий порог "похожести" можно принимать решение о том, есть ли заданное слово в каком-то виде или какой-то форме в искомом тексте.