You can go with IndexedDB way with using IndexedDBShim (a polyfill for WebSQL, it works well on iOS devices ) as well. IndexedDB has a decent support now in both desktop and mobile browsers. For storage quota, notice that IOS devices allows maximum of 50 MB storage, whereas on other browsers there is no hard limit.
IndexedDB doesn't have any free text search API. You need to build it on your own, or look at this library YDN-DB. This may prove helpful for you !!