2010-11-08 10 views
12

Ho sviluppato un indice e un'applicazione di ricerca con la libreria Lucene. ma questa libreria ha qualche limitazione nel ranking personalizzato nel mio contesto, a parte le sue prestazioni, ho bisogno di scalabilità e accesso a tutti i tipi di frequenze di parole e così via. Esiste qualche potente libreria di testo completo open source disponibile? CaratteristicheQual è il miglior progetto open source per la ricerca full-text (.NET preferito)?

+2

Ho trovato che le prestazioni con Lucene.net sono incredibili, quindi è una sorpresa sentire qualcuno dire che hanno problemi con le prestazioni! (A proposito, Lucene ha una buona API per il punteggio personalizzato ecc.) –

+0

Non ho alcun problema con le prestazioni di lucene, ma la classifica personalizzata è così difficile. – Ehsan

risposta

5

http://www.sphinxsearch.com

http://www.sphinxconnector.net/

chiave Sphinx sono:

  • alta indicizzazione e la ricerca delle prestazioni;
  • strumenti avanzati di indicizzazione e interrogazione (tokenizzatore di testo flessibile e ricco di funzionalità, linguaggio di interrogazione, diverse modalità di classificazione, ecc.);
  • set di risultati avanzato post-elaborazione (SELECT con espressioni, DOVE, ORDER BY, GROUP BY ecc su risultati di ricerca testo);
  • scalabilità comprovata fino a miliardi di documenti, terabyte di dati e migliaia di query al secondo;
  • integrazione semplice con origini dati SQL e XML e interfacce di ricerca SphinxAPI, SphinxQL o SphinxSE;
  • scalabilità semplice con ricerche distribuite.

Per espandere un po ', Sphinx:

  • ha velocità di indicizzazione (fino a 10-15 MB/sec per core su un benchmark interno);
  • ha un'alta velocità di ricerca (fino a 150-250 query/sec per core contro 1.000.000 di documenti, 1,2 GB di dati su un benchmark interno);
  • ha elevata scalabilità (più grandi noti indici di cluster oltre 3 miliardi di documenti, e più trafficate uno picchi oltre 50.000.000 di domande/giorno);
  • fornisce una buona classificazione di pertinenza tramite la combinazione della classifica di prossimità frase e della classificazione statistica (BM25);
  • fornisce funzionalità di ricerca distribuita;
  • fornisce generazione di estratti di documenti (snippet);
  • fornisce la ricerca dall'interno dell'applicazione con le interfacce SphinxAPI o SphinxQL e da MySQL con il motore di archiviazione SphinxSE inseribile;
  • supporta la prossimità booleana, frase, parola e altri tipi di query;
  • supporta più campi di testo completo per documento (fino a 32 per impostazione predefinita);
  • supporta più attributi aggiuntivi per documento (es.gruppi, timestamp, ecc.);
  • supporta le stopword;
  • supporta dizionari di forme morfologiche di parole;
  • supporta le tokenizzazione delle eccezioni;
  • supporta sia codifiche a byte singolo che UTF-8;
  • supporta la derivazione (stemmer per inglese, russo e ceco sono incorporati e stemmer per francese, spagnolo, portoghese, italiano, rumeno, tedesco, olandese, svedese, norvegese, danese, finlandese, ungherese, sono disponibili per la terza libreria libstemmer party);
  • supporta MySQL in modo nativo (sono supportati tutti i tipi di tabelle, inclusi MyISAM, InnoDB, NDB, Archive, ecc.);
  • supporta PostgreSQL in modo nativo;
  • supporta i database compatibili ODBC (MS SQL, Oracle, ecc.) In modo nativo;
  • ... ha oltre 50 altre funzioni non elencate qui, fare riferimento all'API e al manuale di configurazione!
Problemi correlati