powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Умный поиск по большой таблице mysql
7 сообщений из 7, страница 1 из 1
Умный поиск по большой таблице mysql
    #39449047
yuriy475
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Загорелся идеей сделать классный сайт - электронную библиотеку. Возникла проблема с поиском книг по сайту. Книг много (≈ пол миллиона), обычный запрос SELECT LIKE "%запрос%" работает долго (≈ 1.5 сек).
Хотелось бы ускорить, и сделать поиск не по точному совпадению, не очень чувствительным к порядку слов.

У многих книг есть список ключевых слов.

По поводу ускорения поиска есть две идеи:
1) создать таблицу в которой ключевые слова книг расположены в алфавитном порядке. Получая запрос сравнить его с центральной строкой таблицы если запрос выше по алфавиту, то сравнить со строкой что по центру верхней половины, иначе - c нижней.
2) создать таблицу в которой ключевые слова книг превращены в числа и используются как айди строки в которой лежит книга. К примеру, если ключевое слово состоит из маленьких букв русского алфавита, то его можно считать числом записанным в 33-тичной системе счисления. Такое число можно переписать в привычной десятичной системе, тем самым сразу получив айди строки в которой лежит книжка.

Все же у меня в этом мало опыта, я не очень представляю себе как делается нормальный поиск (который не по точному совпадению).
Надеюсь кто-нибудь посоветует чего:3
...
Рейтинг: 0 / 0
Умный поиск по большой таблице mysql
    #39449056
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Умный поиск по большой таблице mysql
    #39449059
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yuriy475,

Вам же, наверное, и морфология нужна?
Sphinx
...
Рейтинг: 0 / 0
Умный поиск по большой таблице mysql
    #39449061
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yuriy475,
поставь версию 5.7 и будет счастье
в 10 000 000 поиск с like 4сек
...
Рейтинг: 0 / 0
Умный поиск по большой таблице mysql
    #39449752
yuriy475
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, спасибо, то что нужно!
Буду эту штуку использовать. Жаль только что не исправляет ошибки в словах :c
...
Рейтинг: 0 / 0
Умный поиск по большой таблице mysql
    #39450986
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор Жаль только что не исправляет ошибки в словах :c

https://github.com/adriannuta/SphinxAutocompleteExample
...
Рейтинг: 0 / 0
Умный поиск по большой таблице mysql
    #39451140
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По поводу ускорения поиска есть две идеи:
1) создать таблицу в которой ключевые слова книг расположены в алфавитном порядке. Получая запрос сравнить его с центральной строкой таблицы если запрос выше по алфавиту, то сравнить со строкой что по центру верхней половины, иначе - c нижней.

Да проще все, мастер/детейл книга/ключевые слова, и индекс на слово. будет быстро.


2) создать таблицу в которой ключевые слова книг превращены в числа и используются как айди строки в которой лежит книга. К примеру, если ключевое слово состоит из маленьких букв русского алфавита, то его можно считать числом записанным в 33-тичной системе счисления. Такое число можно переписать в привычной десятичной системе, тем самым сразу получив айди строки в которой лежит книжка.


это бессмысленно.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Умный поиск по большой таблице mysql
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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