Implementação rápida de C# de filtros Bloom embalados em uma biblioteca padrão .NET.
Os filtros Bloom são estruturas de dados probabilísticas que visam eliminar as entradas de um conjunto de dados em tempo constante. Eles usam várias funções de hash para gerar posições em um bitmap; portanto, mais tarde, na fase de verificação, bits diferentes de zero que não são encontrados no bitmap eliminam o vetor de pesquisa fornecido. Você pode encontrar um exemplo de como eles funcionam aqui.
Para instalar a versão mais recente do Bloomy Package em seu projeto:
Install-Package Bloomy.Lib
Um caso de uso muito simples é adicionar strings em um filtro e verificar depois:
BasicFilter filter = new BasicFilter ( 50000 , HashFunc . Murmur3 ) ;
filter . Insert ( "dotnet" ) ;
.. .
FilterResult res = filter . Check ( "dotnet" ) ; FilterResult.Presence fornece:
FilterResult.Probability . Sinta -se à vontade para abrir problemas, enviar PRs e usar especialmente este LIB e testá -lo. Esta ainda é uma biblioteca de trabalho em andamento, pois recursos novos e mais robustos estão por vir.
Mit