Понимание FTS3 / FTS4: что такое виртуальные таблицы и для поиска в них есть не виртуальная таблица с возможностью поиска?

Я очень растерялся, прочитав первую часть документации по SQLite3 FTS3 / FTS4. Причина, по которой я сбит с толку, - это пример, разбросанный по всей сети, который, я считаю, не охватывает все возможные варианты использования, а другая причина - текущая ситуация, в которой я нахожусь. Сказав, что у меня есть таблица с именем Note, которая содержит два атрибут, тип которого TEXT и другие атрибуты, что очень важно для всего приложения.

Это очень простая таблица. Я хотел обеспечить полнотекстовый поиск, чтобы я мог искать как короткие заметки, так и длинные заметки, и именно тогда я столкнулся с этим FTS3 / FTS4. Видите ли, хранить информацию как таковую очень просто, но у меня возникли проблемы с дизайном, особенно с тем, что происходит в моем приложении. Примеры в Интернете, особенно пример SearchableDictionary, предоставленный из каталога sdk, показывает только создание виртуальных таблиц и практически ничего более. Это не правда и дело для меня. У меня уже есть существующая таблица, другие атрибуты которой очень важны для приложения, и я никогда не планирую хранить их в виде текста в виртуальной таблице! Также нет единой виртуальной таблицы, все типы которой являются TEXT. Я могу предложить разделить ShortNote и LongNote на отдельную виртуальную таблицу и провести fts здесь через:

create virtual table virtual_note_table using fts3(_ID, ShortNote, LongNote);

Мне не нравится такой подход по нескольким причинам:

Если я сделаю это, мне нужно будет поддерживать две таблицы: а) обычную таблицу SQLite, которую легко понять, б) виртуальную таблицу, в которой у меня есть ограниченные знания о том, как она будет работать в моей ситуации.

Я думаю только о том, чтобы создать отдельную виртуальную таблицу и заполнить ее, когда я собираюсь провести поиск, и отбросить ее, когда я закончу. Источник контента будет исходить из таблицы, которая у меня уже есть. Но я не уверен, что это лучший способ сделать что-то, так как я беспокоюсь о космосе.

Предположим, я беру оригинальную мысль, которая у меня была раньше, то есть полностью удалить ShortNote и LongNote из таблицы заметок и просто сохранить ссылку. Кажется, что это вообще невозможно присоединить виртуальную таблицу к не виртуальной таблице. Это ужасная концепция, и я никогда не видел ни статей, ни статей об этом, поэтому, может быть, я просто полностью неправильно понял виртуальные таблицы FTS3 / FTS4!

Я полностью потерян и нуждаюсь в помощи относительно дизайна. Мне очень нужна функция полного поиска по данным (ShortNote и LongNote). Я думаю, что мой лучший снимок # 2.

Буду признателен за любой совет.

Ответы на вопрос(1)

Ваш ответ на вопрос