Lucene distribuito per la ricerca full-text scalabile

Apache Lucene è un motore di ricerca full-text gratuito open source molto popolare originariamente scritto in Java ma anche portato su .NET. Lucene è una libreria autonoma che le applicazioni incorporano per eseguire la ricerca di testo completo.

NCache ha implementato l'API Lucene in .NET nella sua forma nativa sulla sua cache distribuita in memoria (da cui il nome Distributed Lucene). Questo ha trasformato Lucene stand-alone in una soluzione di ricerca full-text estremamente veloce e linearmente scalabile per .NET / .NET Core applicazioni. Inoltre, grazie all'API Lucene nativa, non è necessario apportare modifiche al codice alle applicazioni .NET Lucene per utilizzarla con NCache.

Architettura distribuita di Lucene

Da parte del cliente, NCache fornisce alla tua applicazione .NET l'API Lucene.NET nativa in modo da non dover modificare alcun codice nella tua applicazione. E, sul back-end, NCache utilizza lo stesso Lucene.NET per creare indici in un ambiente distribuito e successivamente per condurre ricerche full-text in modo distribuito. I risultati di queste ricerche distribuite vengono quindi uniti prima di essere presentati all'applicazione.

API Lucene nativa

Lucene distribuita con NCache fornisce un'API Lucene nativa. Di conseguenza, ne ottieni i seguenti vantaggi:

  • - Nessuna modifica al codice: non è necessario apportare modifiche al codice all'applicazione Lucene per utilizzare Distributed Lucene. Basta cambiare il tuo provider in NCache.
  • - API standard del settore: utilizzando Lucene nella tua applicazione, ti attieni all'API di ricerca full-text più popolare del settore.

Estremamente veloce e linearmente scalabile

Distributed Lucene è estremamente veloce e scalabile per i seguenti motivi:

  • - In memoria (veloce): Distributed Lucene si basa su NCache che è un Datastore distribuito in memoria. Di conseguenza, anche Distributed Lucene è in memoria e quindi molto veloce.
  • - Indice Lucene partizionato: per fornire scalabilità, l'indice Lucene è partizionato su tutti i server del cluster. In questo modo, quando si aggiungono più server al cluster, l'indice Lucene viene ripartizionato automaticamente e redistributato in modo intelligente utilizzando NCache Cache di replica partizione topologia.
  • - Ricerche parallele: poiché l'indice Lucene è partizionato, quando l'applicazione esegue una query di ricerca full-text, Distributed Lucene la invia a tutti i server nel cluster. E, in questo modo, la tua query viene eseguita in parallelo su più server. Quindi, i risultati di tutte quelle query parallele vengono uniti prima di tornare all'applicazione.
  • - Aggiungi/Rimuovi server dal cluster in fase di runtime: puoi aggiungere più server a NCache cluster in fase di esecuzione senza arrestare l'applicazione o ricostruire l'indice Lucene. L'indice Lucene è automaticamente redisomaggio a tutti i server del cluster senza alcuna interruzione.
  • - Aumenta l'indice di Lucene in fase di esecuzione è possibile aggiungere più elementi all'indice Lucene in fase di esecuzione senza interrompere o ricostruire l'intero indice Lucene.

Alta disponibilità

Ecco alcuni punti salienti di Distributed Lucene in quest'area:

  • - Indice Lucene replicato: L'indice Lucene è partizionato su tutti i server nel cluster. E, quindi, ogni partizione viene replicata su un server diverso nel cluster utilizzando Cache di replica partizione topologia in NCache. Ciò garantisce un'elevata disponibilità, quindi se un server si interrompe, la replica di questa partizione è automaticamente disponibile senza interruzioni.
  • - NCache Il cluster è dinamico: , il natura dinamica di questo cluster significa che se un server si interrompe, il cluster si adatta automaticamente per funzionare con un server in meno. E tutto questo avviene senza interruzioni. Allo stesso modo, se è necessario aumentare il numero di server in fase di esecuzione, il cluster lo aggiunge automaticamente al cluster senza alcuna interruzione.
  • - Persistere/Ricarica indice Lucene: puoi mantenere l'intero indice Lucene sul disco. In questo modo, se hai bisogno di abbattere il tutto NCache cluster per la manutenzione, puoi riavviarlo velocemente e ricaricare l'intero indice Lucene senza alcuna programmazione personalizzata.
  • - Caricamento automatico dell'indice Lucene: Usa il Caricatore di cache caratteristica di NCache per scrivere il tuo codice personalizzato per caricare documenti o dati dalla tua origine dati e creare un indice all'avvio del Cluster.

Cosa fare dopo?

© Copyright Alachisoft 2002 - . Tutti i diritti riservati. NCache è un marchio registrato di Diyatech Corp.