Ho iniziato a provare a utilizzare la nuova API di ricerca, la demo funziona senza intoppi, tuttavia, ci sono alcuni punti che sono ancora confuso dall'essere estraneo al mondo di ricerca.Chiarire l'utilizzo dell'API AppEngine Search
Prima di tutto è come creare un documento. Ovviamente non è possibile codificare manualmente ogni riga in un documento, ma cos'altro posso fare. Dite se ho una user class (sto usando Java, ma immagino che Python non faccia alcuna differenza qui), e aggiungerei le informazioni dell'utente nel documento, e potrei fare una ricerca full-text sul campo dell'indirizzo .
class User {
String username;
String password;
String address;
}
Nel mio archivio dati, ho questa entità con 10000 casi, e se avrò bisogno di costruire questo documento, devo
Fase 1: recuperare l'istanza 10000 da datastore
Fase 2: scorrere ogni dell'impresa utilizzatrice, e creo 10000 documenti
Passo 3: Aggiungere tutte le 10000 documenti in un indice, e allora sarò in grado di cercare
Per favore correggimi se sopra tre passaggi che ho citato è sbagliato.
Se questo è il caso, allora lo fa dopo ogni volta che un nuovo utente si registra, dobbiamo creare un nuovo documento e aggiungerlo all'indice?
Penso che sia l'idea, sì ... – Thilo
Grazie a @Thilo. A mio parere, l'indice si presenta come una mappa mantenuta manualmente nel database relazionale, ma è necessario sincronizzarlo con il db ogni volta che si verifica un inserimento/eliminazione/aggiornamento. Conosco il vantaggio di supportare la ricerca full-text, ma se questo è l'unico vantaggio, vale la pena fare tutto questo? –
L'overhead è sempre presente con la ricerca full-text. Hai bisogno di quell'indice. Potrebbe essere implementato in modo più automatico, più dichiarativo, meno intensivo del codice rispetto all'API corrente? Può essere. Se FTS vale il costo spetta a te decidere. – Thilo