What to use for data storage?

This is a broad question but I’ll give some specifics. I’m working on a simple game as a way of better learning unity, it is a mobile version of the game 20 Questions. I had initially built the game around sqlite and it worked fine in the editor but when I decided to start to try deploying it to see how it worked on an actual mobile device I ran into serious issues.
So, my question is, what would be recommended for data storage in my scenario?
First, I will have a lot of pre-entered data that needs to be queried during the game (thousands of records at least).

Second, I need to be able to quickly and (somewhat) easily get subsets of the data back in response to user actions (i.e. in sqlite this would be 'select * where item like ‘%boat%’).

Third, I would need to be able to insert and edit the pre-existing records.

I have read a lot of posts trying to solve my sqlite problem and many of them question the need for a database, if there is a non-database solution for what I need I am certainly open to it.

Thanks for any feedback.

Sounds like you could use XML for your particular application. LINQ to XML along with XElement would enable you to load, edit, and query XML structures. You can include the XML file in a folder named Resources in your project and load it that way. Here’s a simple example:

using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq;

TextAsset xmlText = Resources.Load("testData") as TextAsset;
XDocument myData = XDocument.Parse(xmlText.text);
List<XElement> searchResults = myData.Descendants("Item").Where(n => n.Attribute("Name").Value == "boat").ToList();