Google App Engine (python): API поиска : String Search

я использую Google App Engine Search API ( https://developers.google.com/appengine/docs/python/search/). Я проиндексировал все объекты, и поиск работает нормально. но только если я ищу точные совпадения, иначе он возвращает 0 результатов. Например:

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)

если я запускаю следующий скрипт, я получаю следующие результаты:

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')

, но если я изменю query_string на "United Kin" или " United"возвращает 0 результатов следующим образом:

search.SearchResults(number_found='0')

Я хочу использовать этот API как для обычного поиска, так и для автоподсказки. Как лучше всего это сделать?

10
задан Amyth 9 June 2012 в 10:53
поделиться