uso la API de búsqueda de Google App Engine (https://developers.google.com/appengine/docs/python/search/). He indexado todas las entidades y la búsqueda funciona bien. pero solo si busco las coincidencias exactas en caso contrario, devuelve 0 resultados. Por ejemplo:Google App Engine (python): API de búsqueda: String Search
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)
si corro el siguiente script hago obtener resultados de la siguiente manera:
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')
pero si cambio el query_string
a "United Kin"
o "United"
devolverlo 0 resultados de la siguiente manera:
search.SearchResults(number_found='0')
Quiero utilizar esta API para la búsqueda normal y AutoSuggest. ¿Cuál sería la mejor manera de lograr esto?
Gracias por su respuesta, pero tengo en silencio un gran almacén de datos, si hago eso para cada entidad en el almacén de datos ¿no afectaría el tamaño del almacén de datos? Tengo como 4 diferentes modelos de búsqueda y cada uno de ellos tiene más de 100.000 registros en promedio. – Amyth
Sí, tendría que almacenar estas palabras clave generadas automáticamente junto con el resto de sus datos. –