CREATE VIRTUAL TABLE IF NOT EXISTS document_search USING fts5(
  title,
  content,
  path UNINDEXED,
  tokenize='porter'
);

INSERT INTO document_search (rowid, title, content, path)
SELECT rowid, title, '', path FROM documents;

CREATE TRIGGER IF NOT EXISTS document_search_insert
AFTER INSERT ON documents
BEGIN
  INSERT INTO document_search (rowid, title, content, path)
  VALUES (NEW.rowid, NEW.title, '', NEW.path);
END;

CREATE TRIGGER IF NOT EXISTS document_search_update
AFTER UPDATE ON documents
BEGIN
  UPDATE document_search SET title = NEW.title, path = NEW.path
  WHERE rowid = NEW.rowid;
END;

CREATE TRIGGER IF NOT EXISTS document_search_delete
AFTER DELETE ON documents
BEGIN
  DELETE FROM document_search WHERE rowid = OLD.rowid;
END;
