Відомо, що в MySql можна шукати по частинах слів. Коли потрібно знайти по першій
частині слова, запит пошуку формується приблизно так:
SELECT name, addr FROM posts WHERE MATCH (name,addr) AGAINST ('слово*' IN BOOLEAN MODE)
А що робити, коли потрібно знайти по закінченню слова( типу на запит "ицтво"
результатами будуть "будівництво" і т.п. )?
Перечитала купу доки і так і не знайшла.
Правда, є варіанти типу LIKE або REGEXP...
Поділіться, будь-ласка, досвідом. Буду дуже вдячна Юрій Сєров - 22-6-2007 у 15:04
А чим Вам не подобається ?
SELECT name, addr FROM posts WHERE name LIKE "%ицтво"Mary Kravets - 22-6-2007 у 15:09
та я так і думаю, просто підозри були, що в запиті пошуку це можна зробити. + пошук
працює швидше ніж LIKEMary Kravets - 22-6-2007 у 15:16
+ до того всього LIKE зручний тільки у випадку малої к-сті полів. А якщо таким чином
потрібно шукати по 10 полям? Тут вже буде тормозить Або в випадку LIKE і 10 полів розбивати пошук по полях, наприклад : юзер з
випадного списку вибирає, шукати по назві\адресі чи по опису.Юрій Сєров - 22-6-2007 у 15:24
Можливо тоді краще загнати всю таблицю в масив і в ній вже шукати засобами PHP чи
Perl-а ?Mary Kravets - 22-6-2007 у 15:34
це буде неефективно при великій кількості рядків у таблиці. В мене десь під 5000.
Краще LIKE + там зберігаються трошки довгі
тексти... Короче багато памяті пхп забере
Але мені дивно: ну як же команда Mysql додумалась зробити пошук по початку слова
(слово*) і не додумалась зробити по закінченню (*слово), або так як в like %слово%.
Мабуть така фіча ще у списку TODO Андрій Пелещишин - 22-6-2007 у 16:01
Цитата:
ну як же команда Mysql додумалась зробити пошук по початку слова (слово*) і не
додумалась зробити по закінченню (*слово),
Думаю, команд MySql ще дуже багато чого не зробила, щоби хоча би наблизитися до
нормальних СКБД.
Користайтесь LIKE - принаймні збережеться імовірність переносимості коду на інші
платформи.Тарас Гулка - 22-6-2007 у 22:11
Якщо хочеться наваротів і великої швидкості то можна використовавати зовнішні
рішення
Наприклад, Sphinx- open-source SQL full-text search engine ( http://sphinxsearch.com/ ) . Сам не користав, але читав дуже позитивні відгуки.