[Fixed]-How to make case insensitive filter queries with Google App Engine?


You need to store normalized versions of your data at write time, then use the same normalization to search.

Store the data either all uppercase or all lowercase, optionally removing punctuation and changing all whitespace to a single space and maybe converting non-ASCII characters to some reasonable ASCII representation (which is, of course, trickier than it sounds.)



An alternative solution to this problem – where the datasets are small – is to filter the results in python after you have called them from the datastore:

for each_item in list_of_results:
    if each_item.name.lower().rfind(your_search_term) != -1:
        #Your results action

Leave a comment