![]() |
|
Модераторы: skyboy |
![]()
|
|
| g27 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 29.9.2007 Где: Vilnius Репутация: нет Всего: нет |
Здравствуйте,
база Mysql Надо выбрать те записи где есть совпадение. То есть есть таблица предложений и надо проверить в каким есть данное слово и их вывести. я Пытался так SELECT * FROM sentences WHERE text_sentence REGEXP '[[:<:]]slovo[[:>:]] | [[:<:]]slovo[[:punct:]]' Но что-то не хочет находить совпадения если с начала строки стоит. Ну вообщем может кто сталкивался и уже знает все нюансы? Спасибо. |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 1 Всего: 130 |
Я не работал с Mysql, но разве обычные операторы вроде LIKE там не действуют?
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| g27 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 29.9.2007 Где: Vilnius Репутация: нет Всего: нет |
действуют, но там много букв выходит получается
Добавлено @ 21:04 '^slovo|[[:<:]]slovo[[:>:]]' пока как-то так.... Это сообщение отредактировал(а) g27 - 13.3.2010, 21:05 |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 15 Всего: 260 |
не надо для этих целей использовать regexp.
либо используй полнотекстовый индекс, либо внешний индексатор(рекомендую sphinx ) при твоем подходе сильно теряешь в скорости. потому что индексы не используются. Добавлено через 49 секунд и ни о какой нормализации слов("мячей" -> "мяч") говорить не приходится, хотя не знаю даже, надо ли тебе это. |
|||
|
||||
| g27 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 29.9.2007 Где: Vilnius Репутация: нет Всего: нет |
не понимаю как мне помогут индексы в данном случае? Мне всёравно придётся пересмотреть все предложения, потом как слово может быть в любом его месте да и важна уникальность, однокоренные не подходят.
|
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 15 Всего: 260 |
механизм полнотекстового поиска при создании полнотекстового индексы вычленяет слова. за счет этого, работа с полнотекстовым индексом просто обязана быть намного быстрее, чем regexp/like/locate.
Добавлено @ 23:54 во внешних индексаторах(тот же sphinx) нормализация - настраиваема. если не надо - просто отключаешь. в fulltext search, кажется, ничего похожего нет. так что ненужный функционал мешаться под ногами не будет. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |