Могу ли я использовать расширение FTS для sqlite изнутри R`?
Sqlite поставляется с поддержкой полнотекстовых специальных таблиц. Можно ли использовать эти функции изнутри R, например, из RSQLite
?
1 ответ
Решение
Нашел ответ методом проб и ошибок:
library(RSQLite)
dbGetQuery(con, "pragma compile_options;")
Это показывает "ENABLE_FTS3" и "ENABLE_FTS5". Так что, кажется, расширения активированы по умолчанию.
Небольшой тестовый пример:
con <- dbConnect(SQLite(), ":memory:")
dbExecute(con, "CREATE VIRTUAL TABLE mail USING fts3(subject, body);")
dbExecute(con, "INSERT INTO mail(docid, subject, body) VALUES(1, 'software feedback', 'found it too slow');")
dbExecute(con, "INSERT INTO mail(docid, subject, body) VALUES(2, 'software feedback', 'no feedback');")
dbExecute(con, "INSERT INTO mail(docid, subject, body) VALUES(3, 'slow lunch order', 'was a software problem');")
dbGetQuery(con, "SELECT * FROM mail WHERE subject MATCH 'software';")
Последний запрос возвращает строки 1 и 2.
Ницца!