#DevJungles #dotnet #ityoutubers
Telegram канал Dev Jungles -
Поддержать канал можно:
- Спонсорством на YouTube
- Переводом на карту или пополнением банки монобанка:
Dev Jungles YouTube Channel Fund
Номер карты банки:
5375 4112 0230 1466
- Или криптой:
BTC - 18C3jsFYwviN5FvzpAt4uMWRfUeVKvdWxy
ETH - 0x2903f63ba9009732272e91a299053b9d7b623216
USDT on ERC20 - 0x2903f63ba9009732272e91a299053b9d7b623216
USDT on TRC20 - TSmS5RzQKbWdxZkoM2oRo9HK8FYBaq744T
LTC - LN3CkrnvZLZTXDUhqTy1gUKMVpLjEPA4G2
DOGE - DPwon439jf3axVSBwyuXso6z7CivuJF655
AAVE - 0x2903f63ba9009732272e91a299053b9d7b623216
Waves - 3P8D57Zw7CrqW2o7dHpvZR2UzAzQRFA2kZd
В мире много текстов. По ним нужно искать. И ищи мы по ним просто пробегая текст символ за символом, то галактики бы рождались и умирали еще до того как мы дойдем до середины библиографии классиков русской литературы.
Что бы это все работало быстро существуют алгоритмы полнотекстового индексирования (Full Text Index, Full Text Search). Про эти алгоритмы на внятном популярном языке преступно мало, я попробую исправить этот недочет нашего мира.
У меня есть один железобетонный способ понять какой-то алгоритм или подход: написать его самостоятельно. Возможно он не самый быстрый, но самый надежный. Ведь просто прочитав статью вы можете понять что-то неверно и пойти распространять это непонимание в код или того хуже в других людей. Если же вы попробуете реализовать алгоритм о котором прочитали сами, то столкнетесь со жменей мелочей о которых бы и не прочитали, а еще, если вы что-то не поняли, то получите смачную оплеуху от реальности в виде не работающего кода.
Алгоритмы полнотекстового индексирования используются для поиска в таких системах как: Elastic Search, Lucene, SQLite, SqlServer, PostgreSQL, MySQL
Таймкоды:
00:00:00 - Введение
00:05:24 - Назначение полнотекстового индекса
00:11:15 - О данных для демонстрации
00:14:16 - Поиск в лоб
00:34:36 - Бенчмарк поиска в лоб
00:44:21 - Простой полнотекстовый индекс
00:59:25 - Бенчмарк простого индекса
01:18:50 - Добавление позиции слова в индекс
01:36:04 - Бенчмарк индекса с позицией слова
01:47:11 - О структуре индекса в PostgreSQL
01:51:03 - Пути оптимизации представленных индексов
01:54:22 - Запрос к индексу PostgreSQL
01:55:39 - Поиск по нескольким словам
02:00:37 - Сохранение на диск
02:06:02 - Префиксное дерево для сохранение на диск
02:16:11 - Индекс работающий на чанках
02:21:23 - Написание бенчмарка работы индекса на чанках
02:25:15 - Хранение чанков на диске
02:27:13 - Написание бенчмарка на объем занимаемой индексами памяти
02:32:15 - Итоги бенчмарка работы индекса на чанках
02:36:40 - Итоги бенчмарка на объем занимаемой индексами памяти
02:41:28 - При чем тут shazam