fileio: Работа с файлами в SQLite
Расширение nalgeon/fileio добавляет в SQLite возможность читать и писать файлы прямо из SQL.
fileio_write записывает данные в файл:
fileio_read читает содержимое файла:
fileio_scan читает файл построчно, не загружая целиком в память:
Кроме того, есть fileio_append (дописывает данные в файл) и функции для работы с каталогами — fileio_mkdir (создает каталог) и fileio_ls (читает содержимое каталога).
Как установить расширение
Расширение nalgeon/fileio добавляет в SQLite возможность читать и писать файлы прямо из SQL.
fileio_write записывает данные в файл:
select fileio_write('hello.txt', 'hello world');
fileio_read читает содержимое файла:
select fileio_read('hello.txt');
-- hello world
fileio_scan читает файл построчно, не загружая целиком в память:
select rowid, value from fileio_scan('lines.txt');
-- 1,one
-- 2,two
-- 3,three
Кроме того, есть fileio_append (дописывает данные в файл) и функции для работы с каталогами — fileio_mkdir (создает каталог) и fileio_ls (читает содержимое каталога).
Как установить расширение
👍12🔥4
fuzzy: Нечеткое сравнение строк в SQLite
Расширение nalgeon/fuzzy помогает сравнивать строки на похожесть и транслитерировать текст.
Одни функции считают расстояние между строками (чем оно больше, тем сильнее отличаются строки):
Другие функции рассчитывают фонетический код строки (помогает определять слова, которые похоже звучат):
Транслитерация преобразует строку в ASCII-строку (только латинские символы), чтобы с ней могли работать функции расстояния и фонетики:
Как установить расширение
Расширение nalgeon/fuzzy помогает сравнивать строки на похожесть и транслитерировать текст.
Одни функции считают расстояние между строками (чем оно больше, тем сильнее отличаются строки):
-- Расстояние Дамерау-Левенштейна
select fuzzy_damlev('awesome', 'aewsme');
-- 2
-- Расстояние Хэмминга
select fuzzy_hamming('awesome', 'aewsome');
-- 2
-- Расстояние Джаро-Винклера
select fuzzy_jarowin('awesome', 'aewsme');
-- 0.907142857142857
Другие функции рассчитывают фонетический код строки (помогает определять слова, которые похоже звучат):
-- Caverphone
select fuzzy_caver('awesome');
-- AWSM111111
select fuzzy_caver('owesome');
-- AWSM111111
-- Refined soundex
select fuzzy_rsoundex('awesome');
-- A03080
select fuzzy_rsoundex('awssome');
-- A03080
Транслитерация преобразует строку в ASCII-строку (только латинские символы), чтобы с ней могли работать функции расстояния и фонетики:
select fuzzy_translit('sí señor');
-- si senor
select fuzzy_translit('привет');
-- privet
Как установить расширение
❤12👍8🔥4