SQLITE работает быстро и на запись, и на чтение. Просто по умолчанию, каждая команда создает и коммитит свою транзакцию. Переход на групповую транзакцию и отложенный по таймауту коммит спасает дело.
В FTS основная проблема — это написать токенизатор, который извлекает лексемы. Токенизатор по умолчанию будет считать разными слова, которые отличаются по написанию (т.е. нет учета склонений).