Как написать Full Text Index с нуля? Так работает Elastic Search и Full Text Search SQL Server
#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