Как сделать нечеткую логику для функции поиска в PHP и SQL Server?

Я работаю над веб-страницей, связанной с моей базой данных, в которой в качестве основной функции используется функция поиска. Пользователи должны искать название компании, чтобы проверить, к какой группе принадлежит компания и т. Д. Однако для скрининга названия компании мне нужна нечеткая логика поиска. Я перепробовал много методов, но проблема в том, что названия компаний длинные. я использовал WHERE NAME LIKE %keywordfromform% но это не достаточно размыто.

Например:

Актуально: ABC Company 123 ROAD
Поиск пользователя: Road 123 ABC Company

Результат должен появиться, но он не показывает, это приводит к неточности в поиске.

0

Решение

актуально: «ABC Company 123 ROAD»
user = «Road 123 ABC Company» использовать explode или же preg_split для разбиения строки в массив. Поскольку вы не знаете порядок, было бы лучше разбить строку запроса и выполнить поиск по слову, а не искать всю строку.

Если тебе надо any слов

   SELECT * FROM table
WHERE column LIKE '%word1%'
OR column1 LIKE '%word2%'
OR column1 LIKE '%word3%'

Если тебе надо all присутствующих слов

   SELECT * FROM table
WHERE column LIKE '%word1%'
AND column1 LIKE '%word2%'
AND column1 LIKE '%word3%'
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]