Android Search Match 2 столбца Оператор SQL - PullRequest
0 голосов
/ 25 июня 2018

Я следую учебному пособию по Android SearchableDictionary здесь и коду здесь , я заставляю все работать и понимаю код.Тем не менее, по жизни я не могу сделать поиск выглядеть в 2 столбцах поиска sqliteDB.См. Комментарий ниже о том, чего я хочу достичь

public Cursor getWordMatches(String query, String[] columns) {
        //This (original code) searches your query in the KEY_WORD column, which is the SUGGEST_COLUMN_TEXT_1 column.
        //String selection = KEY_WORD + " MATCH ?";

        // This searches your query across ALL columns of the table, not what I want because I have added additional columns to the sqlitedb table
        //String selection = FTS_VIRTUAL_TABLE + " MATCH ?";

        // This is what I want, to search my query in both the keyword and keydefinition columns, which is the 1 and 2 suggest column text
        String selection = KEY_WORD +"OR" + KEY_DEFINITION+ " MATCH ?";
        String[] selectionArgs = new String[] {query+"*"};

        return query(selection, selectionArgs, columns);

        /* This builds a query that looks like:
         *     SELECT <columns> FROM <table> WHERE <KEY_WORD> MATCH 'query*'
         * which is an FTS3 search for the query text (plus a wildcard) inside the word column.

Вещи, которые я пробовал (есть и другие, но они представляют собой небольшие модификации следующих форматов):

String selection = KEY_WORD +"OR" + KEY_DEFINITION+ " MATCH ?";

String selection = FTS_VIRTUAL_TABLE+ " MATCH 'suggest_text_1:? OR suggest_text_2:?'";

Я также прочитал соответствующие разделы this , это не помогло мне, потому что он снова дал пример поиска в 1 столбце и поиска во всех столбцах, используяскрытый столбец с именем БД.Мне нужно найти более 1 столбца в одном операторе SQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...