Mysql
 sql >> Database >  >> RDS >> Mysql

Integrazione della ricerca su un sito Web in cui il backend è MySQL

Per indirizzare i tuoi punti:

  1. L'utilizzo di %input% è pessimo . Ciò causerà una scansione completa della tabella per ogni query. Sotto qualsiasi quantità di carico o anche su un set di dati remoto di grandi dimensioni, il tuo server DB si strozzerà.

  2. Un RDBMS da solo non è una buona soluzione per questo. Stai cercando nel posto giusto cercando una soluzione separata per la ricerca. Qualcosa che può comunicare bene con il tuo RDBMS è buono; qualcosa che viene eseguito all'interno di un RDBMS non farà ciò di cui hai bisogno.

  3. La ricerca di testo completo in MySQL è praticabile per ricerche di parole chiave molto semplici, nient'altro. La portata dell'utilità è estremamente limitata:è necessario un modello di utilizzo altamente prevedibile per sfruttare la ricerca integrata. Si chiama "ricerca", ma non è davvero la ricerca nel modo in cui la maggior parte delle persone la pensa. Rispetto alla qualità dei risultati di ricerca che ci aspettiamo da Google e Bing, non è paragonabile. Nel senso della parola "ricerca", è qualcos'altro, come Blocco note vs Word. Entrambi sono cose da digitare, ma questo è tutto.

Per quanto riguarda i sistemi separati per la gestione della ricerca, Lucene è molto buono. Lucene funziona come vuoi che funzioni, in sostanza. Puoi interagire con esso in modo programmatico per inserire documenti indicizzabili. Allo stesso modo, un Google Appliance (non Ricerca personalizzata di Google ) possono essere forniti meta feed diretti che espongono tutto ciò che si desidera indicizzare, ad esempio i dati direttamente da un database.