Lucene distribuido para búsqueda escalable de texto completo

Apache Lucene es un motor de búsqueda de texto completo de código abierto gratuito muy popular escrito originalmente en Java pero también adaptado a .NET. Lucene es una biblioteca independiente que las aplicaciones incorporan para realizar búsquedas de texto completo.

NCache ha implementado la API de Lucene en .NET en su forma nativa sobre su caché distribuida en memoria (de ahí el nombre Lucene distribuido). Esto ha transformado el Lucene independiente en una solución de búsqueda de texto completo extremadamente rápida y linealmente escalable para .NET / .NET Core aplicaciones Y, debido a la API nativa de Lucene, no es necesario que realice ningún cambio en el código de sus aplicaciones .NET Lucene para poder utilizarlo con NCache.

Arquitectura distribuida de Lucene

En el lado del cliente, NCache proporciona a su aplicación .NET la API nativa de Lucene.NET para que no tenga que cambiar ningún código en su aplicación. Y, en el back-end, NCache usa el mismo Lucene.NET para crear índices en un entorno distribuido y luego para realizar búsquedas de texto completo de manera distribuida. Los resultados de estas búsquedas distribuidas luego se fusionan antes de presentarse a su aplicación.

API nativa de Lucene

Distribuido Lucene con NCache le proporciona una API nativa de Lucene. Como resultado, obtienes los siguientes beneficios:

  • - Sin cambio de código: no tiene que realizar ningún cambio en el código de su aplicación Lucene para poder utilizar Distributed Lucene. Solo cambia tu proveedor a NCache.
  • - API estándar de la industria: Al usar Lucene en su aplicación, se apega a la API de búsqueda de texto completo más popular de la industria.

Extremadamente rápido y linealmente escalable

Distributed Lucene es extremadamente rápido y escalable por las siguientes razones:

  • - En memoria (rápido): Distributed Lucene está construido sobre NCache que es un almacén de datos distribuido en memoria. Como resultado, Distributed Lucene también está en memoria y, por lo tanto, es muy rápido.
  • - Índice de Lucene particionado: para proporcionar escalabilidad, el índice de Lucene se divide en todos los servidores del clúster. De esta manera, a medida que agrega más servidores al clúster, el índice de Lucene se reparticiona automáticamente y redistributado de una manera inteligente mediante el uso de NCache Caché de réplica de partición topología
  • - Búsquedas paralelas: dado que el índice de Lucene está particionado, cuando su aplicación emite una consulta de búsqueda de texto completo, Distributed Lucene la envía a todos los servidores del clúster. Y, de esta manera, su consulta se ejecuta en paralelo en varios servidores. Luego, los resultados de todas esas consultas paralelas se fusionan antes de regresar a su aplicación.
  • - Agregar o quitar servidores del clúster en tiempo de ejecución: puede agregar más servidores a NCache clúster en tiempo de ejecución sin detener su aplicación o reconstruir su índice de Lucene. El índice de Lucene es automáticamente redistributo a todos los servidores del clúster sin interrupciones.
  • - Haga crecer el índice de Lucene en tiempo de ejecución puede agregar más elementos al índice de Lucene en tiempo de ejecución sin detener o reconstruir todo el índice de Lucene.

Alta disponibilidad

Estos son algunos aspectos destacados de Distributed Lucene en esta área:

  • - Índice de Lucene replicado: El índice de Lucene se divide en todos los servidores del clúster. Y, luego, cada partición se replica en un servidor diferente en el clúster usando Caché de réplica de partición topología en NCache. Esto garantiza una alta disponibilidad, por lo que si algún servidor deja de funcionar, la réplica de esta partición está disponible automáticamente sin interrupciones.
  • - NCache El clúster es dinámico: las naturaleza dinámica de este grupo significa que si un servidor deja de funcionar, el clúster se ajusta automáticamente para trabajar con un servidor menos. Y todo esto sucede sin interrupciones. De manera similar, si necesita aumentar la cantidad de servidores en tiempo de ejecución, el clúster lo agrega automáticamente al clúster sin interrupciones.
  • - Persistir/Recargar Índice de Lucene: puede conservar todo el índice de Lucene en el disco. De esta manera, si necesita derribar todo el NCache clúster para el mantenimiento, puede reiniciarlo rápidamente y volver a cargar todo el índice de Lucene sin ninguna programación personalizada.
  • - Índice Lucene de carga automática: Uso cargador de caché característica de NCache para escribir su código personalizado para cargar documentos o datos de su fuente de datos y crear un índice al iniciar el clúster.

¿Qué hacer a continuación?

© Copyright Alachisoft 2002 - Todos los derechos reservados. NCache es una marca registrada de Diyatech Corp.