powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Поиск по окончанию слова
6 сообщений из 6, страница 1 из 1
Поиск по окончанию слова
    #39343302
varik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, есть такая проблема: существует таблица вида Id (int), word (varchar). В ней содержится более 10 миллионов пар id-слово. Как организовать поиск по окончанию слова?
1 вариант: LIKE '%последние_три буквы_слова' - работает, но очень долго.
2 вариант: FULLTEXT KEY и конструкция MATCH(`word`) AGAINST('*последние_три буквы_слова' IN BOOLEAN MODE) - но эта конструкция не работает т.к. звёздочка может быть только в конце и может искать только по началу слова (хотя некоторые, скорее всего старые мануалы, пишут, что звёздочку можно ставить где угодно).

Подскажите пожалуйста, есть ли ещё варианты организовать поиск по окончанию слова (по последним нескольким буквам) на чистом MySQL? Если нет, то что может помочь? Sphinx?
...
Рейтинг: 0 / 0
Поиск по окончанию слова
    #39343330
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
varik,

Продублировать word в word_reverse с обратным порядком символов. Получается классический префиксный поиск like 'const%' (только буквы в обратном порядке ставьте), возможна работа по индексу.
Если версия позволяет, используйте generated columns: https://dev.mysql.com/doc/refman/5.7/en/create-table-generated-columns.html Тогда не нужно следить за актуальностью соответствия прямого и обратного полей.
...
Рейтинг: 0 / 0
Поиск по окончанию слова
    #39343810
Bandicooot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
varik,

попробойте через substring_index
...
Рейтинг: 0 / 0
Поиск по окончанию слова
    #39343822
varik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо вам за советы. Вариант от Melkij помог. Продублировал столбец слов с обратным порядком символов и использую like 'const%' . Работает по индексу и очень быстро.
...
Рейтинг: 0 / 0
Поиск по окончанию слова
    #39343883
hhhspc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пробовали на PHP через регулярки?
...
Рейтинг: 0 / 0
Поиск по окончанию слова
    #39343885
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hhhspcПробовали на PHP через регулярки?Угу... выкачивать всю таблицу на клиента, чтобы потом по ней искать... гениально! особливо ежели таблица на несколько гектар раскинута.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Поиск по окончанию слова
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]