Come faccio a costruire un motore di ricerca on-the-fly? (Con classifica / pertinenza)
Domanda
Sono stato un utente pesante nella Sfinge e Lucene. Sfinge prende solo un database, gli indici esso. E si chiama Sfinge per ottenere l'ID di.
Ma cosa succede se voglio creare un motore di ricerca che è molto piccolo . A pochi righe di dati e alcuni paragrafi di parole? Il trucco sta, le righe di dati è in continua evoluzione. Quindi, non posso avere un "indice".
Voglio essere in grado di classificare per rilevanza, proprio come Sfinge. Come posso fare? Naturalmente, non vorrei passare attraverso l'indicizzazione ...
Soluzione
Se avete solo un paio di righe di dati e alcuni paragrafi di parole per ogni, tenere tutto in memoria e utilizzare qualsiasi algoritmo di testo rende più senso per il contenuto.
Altri suggerimenti
Naturalmente, non vorrei passare attraverso l'indicizzazione ...
Come hai intenzione di determinare la pertinenza senza guardare tutto?
Se c'è solo un po 'di dati, e sta cambiando così tanto che il mantenimento di un indice è poco pratico, si potrebbe invece generare l'indice quando si desidera cercare i dati, eseguire query, e quindi eliminare l'indice la prossima volta i dati vengono modificati. Con un piccolo insieme di dati, aggiornamenti frequenti, e le ricerche frequenti, questo potrebbe essere più efficiente di mantenere l'indice.