I would like to ask if my concept of implementing search in my application is correct and whether it could be improved. I will provide any details needed therefore I believe my question is well-suited for this site.
- I need to implement a search over large SQLite tables (~20 columns, possibly 1000-1500 records - you can think of it as a catalogue of items in a supermarket). The search should be performed on more than 1 table (i.e. 1 catalogue) but I can also force the user to choose specific table (though I would like to avoid it).
- To make the search efficient, I'll use the SQLite FTS3 tables.
- I want to make a fast search that will quickly show results as the user types a query string. For example, when a fragment of product manfufacturer is entered all of the products matching that string should be shown. The perfect solution would be if the user could enter fragment of one column and fragment of another at the same time, though I think that could be a little too much for an Android device.
Questions:
- Should I use a
SearchView
together with a aListView
(and show search results in theListView
) or should I use theAutoCompleteTextView
? - Are the FTS3 tables the right way to go (i.e. will it be fast enough) to effectively perform search over several (large) tables?
I am targeting Android versions >= 3.0.