Есть база на 1 миллион+ с информацией об аудио.
Необходимо сделать поиск по полям artist и/или title.
Как лучше и быстрее всего это реализовать?
LIKE % ищет около 3 секунд, хотелось бы быстрее.
Буду рад ссылкам на статьи или готовые решения на эту тему.
Можно провести нормализацию и вынести например поле artist в отдельный справочник, а в текущей таблице заменить его идентификатором artist-a. Тогда поис по артистам будет быстрым из небольшого их количества по сравнению с композициями, join таблиц по идентификатору намного быстрее like. По полю title нужна искать через like тут ничего не поделаешь.
Да, но тут есть нюанс, если будут искать только по "Киркоров", то не сработает.
А Like с шаблоном типа такого % ..% с индексами работает не эффективно.
Некоторые делают таблицу с ключевыми словами типа id,keywowds, а поик идет по полю кейвердс а там внутри основные слова по которым чаще всего осуществляется поиск пользователем
Ну нужно тестировать допустим я в поиск вбиваю тайтл но к сожалению название песни точно не помню и перепутываю слова..... поидеи нужен поиск с учетом каждого а потом выбрать максимально подходящие... или же чаще всего я пишу тайтл с граматическими ошибками в некоторых словах и когда вы опеределитесь с алгоритмом поиска тогда Вы примерно будете понимать что нужно сделать