Implémentation rapide C # des filtres Bloom emballés dans une bibliothèque standard .NET.
Les filtres Bloom sont des structures de données probabilistes visant à éliminer les entrées d'un ensemble de données à l'heure constante. Ils utilisent plusieurs fonctions de hachage pour générer des positions dans un bitmap, donc plus tard, à la phase de contrôle, des bits non nuls qui ne sont pas trouvés dans le bitmap éliminent le vecteur de recherche donné. Vous pouvez trouver un exemple sur la façon dont ils fonctionnent ici.
Pour installer la dernière version de package Bloomy dans votre projet:
Install-Package Bloomy.Lib
Un cas d'utilisation très simple consiste à ajouter des chaînes dans un filtre et à vérifier après:
BasicFilter filter = new BasicFilter ( 50000 , HashFunc . Murmur3 ) ;
filter . Insert ( "dotnet" ) ;
.. .
FilterResult res = filter . Check ( "dotnet" ) ; FilterResult.Presence donne:
FilterResult.Probability . N'hésitez pas à ouvrir des problèmes, à soumettre des RP et surtout à utiliser cette lib et à la tester. Il s'agit toujours d'une bibliothèque de travaux en cours car des fonctionnalités nouvelles et plus robustes sont à venir.
Mit