| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MySQL > делаю поиск по БД |
| Автор: Kefir 7.6.2004, 15:13 | ||
нужен поиск по БД. я так понял, что этим делом занимается MACTH() AGAINST(). только вот почему-то не получается... в таблице делаю много fulltext полей записываю туда что-то типа "Lord of Destruction...". говорю ему искать таким образом:
он мне возвращает путой сет. то ли лыжи не едут... или я чего то не понимаю?.. |
| Автор: beif 7.6.2004, 16:32 |
| а если использовать LIKE? |
| Автор: Kefir 7.6.2004, 20:59 |
| beif, а если использовать MATCH() AGAINST()? |
| Автор: GoodBoy 8.6.2004, 11:39 | ||
Попробуй вот так:
|
| Автор: Kefir 8.6.2004, 18:03 |
| GoodBoy, не-а... во-первых он мне говорит, что поля weig не существует (where clause). Поменял его на это само выражение с MATCH AGAINST - не работает. просто выбрал MATCH у всех записей - у всех 0 (и у этого самого "Lord of Destruction..."). А может быть что-то не то с самой MySQL? или всё дело в запросе?.. |
| Автор: GoodBoy 9.6.2004, 10:39 |
| ну вот тут немного инфы есть: http://www.kuzbass.ru/docs/mysql/manual_519.html#SEC708 |
| Автор: MuToGeN 9.6.2004, 11:26 |
| У меня проблем типа того был. Все решилось заменой WHERE MATCH(f1,f2,f3) AGAINST('...') на WHERE MATCH(f1) AGAINST('...') OR MATCH(f2) AGAINST('...') OR MATCH(f3) AGAINST('...') Добавлено @ 11:27 только, ессесно, это далеко не лучшее решение |
| Автор: GoodBoy 9.6.2004, 12:51 | ||||
ну вместо этого
тогда уж проще было использовать:
:-))))))) Но это же не прикольно!!! |
| Автор: Kefir 9.6.2004, 13:28 | ||||
интересно... если я делаю запрос
то мускул пишет ошибку: ERROR 1191: Can't find FULLTEXT index matching the column list |
| Автор: MuToGeN 9.6.2004, 16:34 |
| Собственно, FULLTEXT индекс имеется? Порой бывает полезно DROPнуть нафиг индексы и создать заново... |
| Автор: Kefir 9.6.2004, 20:53 |
| MuToGeN, я почему и спрашивал - может это моя БД или MySQL Control Center глючит?.. fulltext поля есть. два раза пересоздавал... |