Ich verwende die Google App Engine-Such-API (https://developers.google.com/appengine/docs/python/search/). Ich habe alle Entitäten indiziert und die Suche funktioniert gut. aber nur wenn ich nach den genauen Übereinstimmungen suche, gibt es sonst 0 Ergebnisse zurück. Zum Beispiel:Google App Engine (Python): Such-API: Zeichenfolge Suche
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)
wenn ich das folgende Skript i laufen Ergebnisse tun bekommen wie folgt:
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')
, aber wenn ich die query_string
zu "United Kin"
oder "United"
es 0 Ergebnisse angezeigt wie folgt ändern:
search.SearchResults(number_found='0')
Ich möchte diese API für die normale Suche und AutoSuggest verwenden. Was wäre der beste Weg, dies zu erreichen?
Vielen Dank für Ihre Antwort Nick, aber ich habe einen großen Datenspeicher ruhig, wenn ich das für jede Entität im Datenspeicher tun würde, würde das nicht die Größe des Datenspeichers auswirken? Ich habe 4 verschiedene durchsuchbare Modelle und jeder von ihnen haben mehr als 100.000 Datensätze im Durchschnitt. – Amyth
Ja, Sie müssten diese automatisch generierten Keywords neben dem Rest Ihrer Daten speichern. –