Как запросить таблицу внешнего контента FTS4, но возвращать дополнительные столбцы из таблицы исходного контента

Я создаю таблицу внешнего контента FTS4 в SQLite следующим образом:

CREATE TABLE t2(id INTEGER PRIMARY KEY, col_a, col_b, col_text); CREATE VIRTUAL TABLE fts_table USING fts4(content="t2", col_text); 

Я использую таблицу внешнего контента, поэтому мне не нужно сохранять повторяющиеся значения col_text в fts_table . Я только индексирую col_text потому что col_a и col_b не нужно индексировать.

Однако, когда я делаю запрос fts_table как это

 SELECT * FROM fts_table WHERE fts_table MATCH 'something'; 

У меня нет доступа к col_a и col_b из таблицы содержимого t2 . Как вернуть все эти столбцы ( col_a , col_b , col_text ) из одного запроса FTS?

Обновить

Я попытался использовать notindexed=column_name как в

 CREATE VIRTUAL TABLE fts_table USING fts4(content="t2", col_a, col_b, col_text, notindexed=col_a, notindexed=col_b); 

Это должно работать для некоторых людей, но я использую его в Android, а опция notindexed не поддерживается до SQLite 3.8, которую Android не поддерживает до версии Android версии 5.x. И мне нужно поддерживать Android 4.x. Я обновляю этот вопрос, чтобы включить тег Android.

    Таблицы FTS имеют внутренний столбец INTEGER PRIMARY KEY, называемый docid или docid . При вставке строки в таблицу FTS установите этот столбец в первичный ключ строки в исходной таблице.

    Затем вы можете легко найти соответствующую строку, либо с отдельным запросом, либо со следующим соединением:

     SELECT * FROM t2 WHERE id IN (SELECT docid FROM fts_table WHERE col_text MATCH 'something') 
    Intereting Posts
    Запрет поиска Android для аудиоконтроллера Эффект шума на фоне Android Как снимать камеру без предварительного просмотра из службы или потока? Последнее обновление для Android Studio – BROKEN Как я могу получить код страны своего Android-телефона без использования GPS? Как вы получаете DatePicker из DatePickerDialog? Как сделать кнопку с пользовательским фоновым изображением показать анимацию клика в Android PhoneGap на Android: загрузка WebApp с удаленного сервера Как запустить поток в фоновом режиме после того, как приложение будет убито Ошибка EMFILE (слишком много открытых файлов) при подключении к LocalServerSocket? Android REST POST проигрывает значение даты Android: Как установить кодировку в JSONStringer для запросов webservice? Приложение Google play распространять только для конкретных (тестовых) пользователей Как добавить действия в меню переполнения на Galaxy S3? Где находится папка Android SDK?