![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
JohnOSTend |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 26.11.2008 Репутация: нет Всего: нет |
Люди, помогите реализовать поиск по БД.
Допустим искать надо в поле text... у меня получилось только это: $memo = mysql_query("SELECT id,title,description FROM data WHERE MATCH(text) AGAINST('$search')",$db); И если я буду искать например "бумага", то он найдет только "бумага". А "Бумага", "БУМАГА" или "бумажный","Бумажный" не находит. Я прикрепил файл со скриншотом, на котором я искал слово "поиск" и он нашел "поиска" и при этом при этом найденое слово посик выделено желтым цветом. Как сделать такой поиск?? Помогите плз! И если я что-то не указал, пишите, я добавлю. http://pic.ipicture.ru/uploads/090111/HaPQPgkbeM.gif |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
JohnOSTend, Индекс в таблице полнотекстовый? Видимо нет, иначе был бы не важен регистр символов.
А вот чтобы он по "бумаге" искал "бумажный" - его надо учить русскому языку... ![]() Хотя -- можно поискать в гугле тему "эвристическое, без словаря. извлечение корня" (это где-то на dklab-е), и передрать алгоритм. Алгоритм иногда ошибается ![]() -- можно прикупить где-нибудь "словарь словоформ русского языка". В результате фраза поиска трансформируется в набор словоформ, либо в набор корней слов, по которым уже и ищем. Вот, в общем-то и вся известная мне теория ... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
стемминг. не эвристическое(алгоритм жестко определен), не корня. но может прокатить. или словарь. т.е. приведение слов к некой "нормальной" форме(например, прилагательніе - к существительному, существительное - к единственному числу, именительному падежу и т.п.) впрочем, лучше ещё и навесить алгоритм выделения ключевых слов, ибо поиск по "и" или "далее" не пригодится ровно никому. |
|||
|
||||
JohnOSTend |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 26.11.2008 Репутация: нет Всего: нет |
Вы меня не совсем поняли, я не хочу все усложнять, хочу просто чтобы он искал слово "бумага" даже если оно будет примерно так записано
блаблаблаБумАгАблаблабла и если я буду искать "бумага" он найдет мне блаблаблаБумАгАблаблабла, причем бумага выделит жирным шрифтом например. Это сообщение отредактировал(а) JohnOSTend - 12.1.2009, 20:22 |
|||
|
||||
awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
ну в mysql есть like где к примеру
|
|||
|
||||
JohnOSTend |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 26.11.2008 Репутация: нет Всего: нет |
Люди, не сочтите за наглость - но не могли бы вы составить код с пояснением по шагам. Я просто не очень врубаюсь в эти запросы.
|
|||
|
||||
awers |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
кстати, не используя ранее посоветованные технологии
это так и останется. Добавлено через 1 минуту и 44 секунды
|
||||
|
|||||
serzhb |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 20.5.2007 Репутация: нет Всего: нет |
Полнотекстовый поиск в MySQL оставляет желать лучшего. Можно конечно поизвращаться и довести до ума, но это отразиться на скорости работы. Лучше переходи на PostgreSQL, модуль tsearch2, там учёт русской морфологии имеется.
|
|||
|
||||
JohnOSTend |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 26.11.2008 Репутация: нет Всего: нет |
serzhb
Можно об этом по подробнее (я первый раз об этом слышу) |
|||
|
||||
serzhb |
|
||||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 20.5.2007 Репутация: нет Всего: нет |
Подробнее надо гулить, статей на тему полно, например: http://www.citforum.ru/database/postgres/fts/ |
||||
|
|||||
JohnOSTend |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 26.11.2008 Репутация: нет Всего: нет |
Жаль... прийдется самому решать данную задачу, тему можно закрывать.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |