Indexes are one-to-one. There is one entry in the index for each row in the table. You are asking for an index that is many-to-one - multiple index entries for each table row. A Full-Text Index is basically a many-to-one index. So if all of your array entries really are words, you could probably get this to work using a [Full-Text Index][1]. [1]: https://www.sqlite.org/fts5.html But you would have to keep the full-text index up-to-date yourself, either using triggers, or in your application. It would not be automatic. So, I think the answer to your question is probably "no".