Full text search on larger text rows
The NOTICE means that textdoc contains at least one word within it that is more than 2047 characters.  The definition of a word depends on what configuration you use for your ts_config.  Words are generally strings of characters separated by spaces or certain punctuation. Hyphenated words will generally be emitted as each separate word, plus the entire hyphenated phrase as an extra "word", at least with the ts_configs that I am familiar with. You can use the ts_debug function to find out how it actually breaks up the string emitted by your specific converter using your chosen ts_config.

select alias, description, token from mytable cross join ts_debug('english',textdoc) 
    where length(token)&gt;2047;


(On second thought, ts_lexize may be better than ts_debug, but I am not as familiar with it.)



Regarding the ILIKE query, your query is returning 2/3 of the rows in the table.  Any index, whether pg_trgm-based or tsvector-based, is unlikely to help you in that situation.