Schnelle C# Implementierung von Bloom -Filtern, die in einer .NET -Standardbibliothek verpackt sind.
Bloom -Filter sind probabilistische Datenstrukturen, die darauf abzielen, Einträge aus einem Datensatz zum konstanten Zeitpunkt zu beseitigen. Sie verwenden mehrere Hash-Funktionen, um Positionen in einer Bitmap zu generieren. Später eliminieren in der Scheckphase, die in der Bitmap nicht in der Bitmap enthalten sind, den angegebenen Suchvektor. Sie können ein Beispiel finden, wie sie hier arbeiten.
So installieren Sie die neueste blühende Paketversion in Ihrem Projekt:
Install-Package Bloomy.Lib
Ein sehr einfacher Anwendungsfall besteht darin, Strings in einen Filter hinzuzufügen und danach zu überprüfen:
BasicFilter filter = new BasicFilter ( 50000 , HashFunc . Murmur3 ) ;
filter . Insert ( "dotnet" ) ;
.. .
FilterResult res = filter . Check ( "dotnet" ) ; FilterResult.Presence gibt:
FilterResult.Probability . Fühlen Sie sich frei, Probleme zu öffnen, PRs einzureichen und insbesondere diese LIB zu verwenden und zu testen. Dies ist immer noch eine Arbeitsbibliothek, da neue und robustere Funktionen kommen werden.
MIT