Могу ли я использовать расширение 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.

Ницца!

Другие вопросы по тегам