Lucene distribuído para pesquisa de texto completo escalável

O Apache Lucene é um mecanismo de pesquisa de texto completo de código aberto muito popular, originalmente escrito em Java, mas também portado para .NET. O Lucene é uma biblioteca autônoma que os aplicativos incorporam para realizar a pesquisa de texto completo.

NCache implementou a API Lucene em .NET em sua forma nativa sobre seu Cache Distribuído na Memória (daí o nome Lucene Distribuído). Isso transformou o Lucene autônomo em uma solução de pesquisa de texto completo extremamente rápida e linearmente escalável para .NET / .NET Core formulários. E, devido à API nativa do Lucene, você não precisa fazer nenhuma alteração de código em seus aplicativos .NET Lucene para usá-lo com NCache.

Arquitetura Distribuída Lucene

Do lado do cliente, NCache fornece ao seu aplicativo .NET a API nativa do Lucene.NET para que você não precise alterar nenhum código em seu aplicativo. E, na retaguarda, NCache usa o mesmo Lucene.NET para construir índices em um ambiente distribuído e, posteriormente, para realizar pesquisas de texto completo de maneira distribuída. Os resultados dessas pesquisas distribuídas são então mesclados antes de serem apresentados ao seu aplicativo.

API nativa do Lucene

Distribuiu Lucene com NCache fornece uma API nativa do Lucene. Como resultado, você obtém os seguintes benefícios:

  • - Sem alteração de código: você não precisa fazer nenhuma alteração de código em seu aplicativo Lucene para usar o Lucene distribuído. Basta alterar seu provedor para NCache.
  • - API padrão do setor: ao usar o Lucene em seu aplicativo, você está aderindo à API de pesquisa de texto completo mais popular do setor.

Extremamente rápido e linearmente escalável

O Lucene distribuído é extremamente rápido e escalável pelos seguintes motivos:

  • - Na memória (rápido): Distributed Lucene é construído sobre NCache que é um armazenamento de dados distribuído na memória. Como resultado, o Distributed Lucene também está na memória e, portanto, muito rápido.
  • - Índice Lucene Particionado: para fornecer escalabilidade, o índice Lucene é particionado em todos os servidores do cluster. Dessa forma, à medida que você adiciona mais servidores ao cluster, o índice Lucene é reparticionado automaticamente e redishomenageado de forma inteligente usando NCache Cache de réplica de partição topologia.
  • - Pesquisas paralelas: como o índice Lucene é particionado, quando seu aplicativo emite uma consulta de pesquisa de texto completo, o Lucene Distribuído a envia para todos os servidores no cluster. E, dessa forma, sua consulta é executada em paralelo em vários servidores. Em seguida, os resultados de todas essas consultas paralelas são mesclados antes de retornar ao seu aplicativo.
  • - Adicionar/remover servidores do cluster em tempo de execução: você pode adicionar mais servidores para NCache cluster em tempo de execução sem interromper seu aplicativo ou reconstruir seu índice Lucene. O índice Lucene é automaticamente redistributado a todos os servidores do cluster sem nenhuma interrupção.
  • - Aumente o índice de Lucene em tempo de execução você pode adicionar mais itens ao índice Lucene em tempo de execução sem interromper ou reconstruir todo o índice Lucene.

High Availability

Aqui estão alguns destaques do Distributed Lucene nesta área:

  • - Índice Lucene Replicado: O índice Lucene é particionado em todos os servidores do cluster. E, então, cada partição é replicada para um servidor diferente no cluster usando Cache de réplica de partição topologia em NCache. Isso garante alta disponibilidade, portanto, se algum servidor ficar inativo, a réplica dessa partição estará disponível automaticamente sem interrupções.
  • - NCache O cluster é dinâmico: que o natureza dinâmica deste cluster significa que, se algum servidor ficar inativo, o cluster se ajustará automaticamente para trabalhar com um servidor a menos. E, tudo isso acontece sem interrupções. Da mesma forma, se você precisar aumentar o número de servidores em tempo de execução, o cluster o adicionará automaticamente ao cluster sem interrupções.
  • - Persistir/Recarregar Índice de Lucene: você pode persistir todo o índice Lucene no disco. Desta forma, se você precisar derrubar todo o NCache cluster para manutenção, você pode reiniciá-lo rapidamente e recarregar todo o índice Lucene sem qualquer programação personalizada.
  • - Índice de Lucene de carregamento automático: Use Carregador de cache característica de NCache para escrever seu código personalizado para carregar documentos ou dados de sua fonte de dados e criar índice na inicialização do cluster.

O que fazer a seguir?

© Copyright Alachisoft 2002 - . Todos os direitos reservados. NCache é uma marca registrada da Diyatech Corp.