Моя проблема в том, что я хочу выбрать из db одну строку, которая наиболее похожа на искомый текст.
$string = "I want to buy a new notebook";
и в БД я имею, например:
1st row| keywords: buy notebook | message: okay i will help u | 2nd row| keywords: sell notebook | message: okay i will help u | 3rd row| keywords: notebook exchange | message: okay i will help u |
И результат будет первым рядом, потому что он содержит ноутбук даже купить и не все строки, содержащие только ноутбук.
Надеюсь, что я пойму, чего я хочу.
Благодарю.
Вы можете использовать полнотекстовый поиск … Возможно, вы можете получить решения.
Полнотекстовый поиск на сервере MySQL позволяет пользователям запускать полнотекстовые запросы в отношении данных на основе символов в таблицах MySQL. Перед выполнением полнотекстовых запросов в таблице необходимо создать полнотекстовый индекс в таблице.
SELECT * FROM your_table_name WHERE MATCH(keywords,message) AGAINST ('I want to buy a new notebook' IN NATURAL LANGUAGE MODE);
Пожалуйста, прочтите этот документ – http://www.w3resource.com/mysql/mysql-full-text-search-functions.php
Возможно ли, что я хочу найти строку, которая наиболее похожа на часть слова? Например:
$string = "Basicly i am playing a game."
но в БД я имею только
1st row| keywords: basic, play | message: okay i will help u | 2nd row| keywords: game, t-shirt | message: okay i will help u |
Даже если у меня есть только в строке «Basicly» и нет «basic»?
Благодарю.