Domanda

Sto cercando una libreria di indicizzazione della ricerca open source.Verrà utilizzato per l'applicazione Web incorporata, quindi dovrebbe avere una dimensione del codice ridotta.Preferibilmente scritto in C, C++ o PHP e non richiede l'installazione di alcun database per l'archiviazione degli indici.Gli indici dovrebbero invece essere archiviati su un file (ad esempio xml, txt).Ho provato a cercare alcune famose librerie di ricerca come xapian e clucene, sono buone ma hanno una dimensione del codice relativamente grande per un sistema embedded.

Verrà eseguito su una piattaforma Linux e verrà utilizzato per indicizzare i file HTML.

Qualche idea su quale sarebbe una buona libreria/API di ricerca da utilizzare?

Grazie.

È stato utile?

Soluzione

Altri suggerimenti

Oddio.Ce ne sono alcuni.In ordine di oscurità decrescente...

Sono sicuro che ce ne siano molti altri là fuori, ma questi sono quelli che ho in cima alla testa.Buona fortuna :)

Primo:devi memorizzare gli indici da qualche parte.Quindi sarà necessario un file di dati a meno che non si desiderino indici solo di memoria.

Per indicizzare elementi generici, posso consigliarti sqlite: http://www.sqlite.org/.Lo uso anche in modalità solo memoria quando ho molti dati e devo gestirli con più indici.

Dipende dalle tue esigenze.Una distribuzione completa di Lucene (Java) può contenere fino a 3 MB di file JAR, ma in pratica può essere ridotta a ben meno di 1 MB.CLucene è probabilmente notevolmente più piccolo nella pratica.Quanto in basso devi scendere?...

Swish-E è scritto in C e potrebbe fare quello che vuoi.Non richiede un database, utilizza il proprio formato di file di indice binario.

Ho anche usato ht://Dig ma sembra che sia passato molto tempo dall'ultima volta che quel software è stato mantenuto.

Entrambi si compileranno su Linux e indicizzeranno perfettamente l'HTML.

Una terza opzione è SI NO usato da AustLII.Contatta il team lì per assicurarti di ottenere la versione più recente.Dovrebbe essere compilato su Linux senza troppi problemi.Non è realmente progettato per sistemi embedded (SINO sta per Size Is No Object) ma l'ultima volta che ho guardato aveva un'API decente e relativamente piccola (quindi non è progettata per questo ma potrebbe funzionare altrettanto bene).Mirato a HTML.Indicizzazione abbastanza veloce.Vale la pena dare un'occhiata, penso.(Divulgazione:lavorato lì molto tempo fa)

Infine, usiamo Sol su cui si basa Lucene.Solr utilizza una semplice API basata sul POST di documenti XML su un server.Abbastanza semplice da interfacciare, qualunque sia la tua lingua.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top