Forum Webscript.Ru
Программирование => PHP => Тема начата: evgkuz от 11 Июня 2002, 16:02:11
-
Если использовать:
$search = "яблоко";
$r=mysql_query("SELECT * FROM news WHERE name LIKE \'%$search%\'");
То я не смогу получить новости на слово "яблочный".
Как это можно сделать с помощью PHP4+MySQL
-
А никак. Компьютер тебе не человек, он не сможет опознать корень этого слова и найти однокоренные слова. Можно конечно поизвращаться выбирая первые 4-5 букв из слова, но это опятьже частный случай!
-
Обрезай последние несколько букв, например. Так делает поиск на http://bankreferatov.ru (http://www.bankreferatov.ru)
Можно оттяпать и первые две-три буквы...
А идеального варианта...
Вот вдогонку ссылка... Там на перле, но тем не менее...
http://www.risearch.org/rus/rumor/index.html
-
Ставить поисковую машину.
-
Тебе для чего?
Если для поиска, который вводит юзер, то так и напиши ему - если хотите искать однокоренные слова, то указывайте корень и звездочку, например ябл*
а сам заменяй звезду на процент, и добавляй пробел спереди.
\' $words[$i]%\'
-
RomikChef
Точно-точно, это будет самый выгодный и простой вариант. А тебе evgkuz большего для поиска новостей и не надо. Имхо.
-
RomikChef
А ты представь себе, как будет выглядеть форма поиска с надписью
если хотите искать однокоренные слова, то указывайте корень и звездочку, например ябл*
Я где то видел сайт, в котором в качестве хелпа по поиску был довольно неплохо расписан синтаксис по регулярным выражениям :)