Home:ALL Converter>Google App Engine (python) : Search API : String Search

Google App Engine (python) : Search API : String Search

Ask Time:2012-06-09T18:53:30         Author:Amyth

Json Formatter

i am using the Google App Engine Search API (https://developers.google.com/appengine/docs/python/search/). I have indexed all of the entities and the search is working fine. but only if i search for the exact matches else it returns 0 results. For Example:

from google.appengine.api import search

_INDEX_NAME = 'searchall'


query_string ="United Kingdom"
query = search.Query(query_string=query_string)
index = search.Index(name=_INDEX_NAME)

print index.search(query)

if i run the following script i do get results as follows :

search.SearchResults(results='[search.ScoredDocument(doc_id='c475fd24-34ba-42bd-a3b5-d9a48d880012', fields='[search.TextField(name='name', value='United Kingdom')]', language='en', order_id='45395666'), search.ScoredDocument(doc_id='5fa757d1-05bf-4012-93ff-79dd4b77a878', fields='[search.TextField(name='name', value='United Kingdom')]', language='en', order_id='45395201')]', number_found='2')

but if i change the query_string to "United Kin" or "United" it return 0 results as follows:

search.SearchResults(number_found='0')

I want to use this API for both normal search and AutoSuggest. What would be the best way to achieve this ?

Author:Amyth,eproduced under the CC 4.0 BY-SA copyright license with a link to the original source and this disclaimer.
Link to original article:https://stackoverflow.com/questions/10960384/google-app-engine-python-search-api-string-search
yy