![]() |
|
Модераторы: skyboy |
![]()
|
|
| FiMa1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 23.9.2006 Репутация: 1 Всего: 6 |
Ребята, всем привет!
Так как я являюсь далеко не экспертом в MySQL, то мне нужна ваша помощь. Есть таблица, в которой в поле word содержатся слова и словосочетания, например вида: dog dog anchor hunting dog cat Мне нужен запрос, который при поиске по запросу "dog" извлек бы строки 1-3 (dog, dog anchor, hunting dog). Я не нашел другого способа, кроме как использовать REGEXP:
Меня смущает, что при подобном использовании MySQL не будет использоваться индекс, сам REGEXP то же очень медленный в работе. Есть ли у вас какие-либо другие предложения? Может как-то можно и выгоднее будет здесь использовать LIKE, RLIKE или что-то еще? Заранее благодарю за любую помощь! Это сообщение отредактировал(а) FiMa1 - 4.3.2010, 22:43 |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
индексы не будут использоваться. надо нормализовать структуру. добавить таблицы с отдельными словами(idword + word) и связь между фразой и словом(idphrase + idword) тогда поиск будет происходить через обычный join по числовому полю. если речь идет именно о поиске без каких-то специфических требований, то есть индексаторы, которые как раз и построят базу слов + связь между словами и фразами на основании, например, sql-запроса. глянь к примеру sphinx |
|||
|
||||
| FiMa1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 23.9.2006 Репутация: 1 Всего: 6 |
skyboy, спасибо за помощь! Почитал про sphinx - очень и очень интересная вещь. Но мой хостинг не подразумевает установку/запуск программ, увы. Может быть потом это выльется в значительную переделку всего, если решу хостить себя сам или прикуплю VDS. Ну что ж буду думать над нормализацией структуры базы данных. Хотя проект уже не в начальной стадии, база уже, казалось, была оформлена. Еще раз спасибо! Это сообщение отредактировал(а) FiMa1 - 4.3.2010, 21:42 |
|||
|
||||
| FiMa1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 23.9.2006 Репутация: 1 Всего: 6 |
Удалено...
Это сообщение отредактировал(а) FiMa1 - 6.3.2010, 07:34 |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |