eugenelesnov / fuzzy-search

Java implementation of some in-memory fuzzy search algorithms

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Codacy Badge Build Status Conventional Commits

FuzzySearch

Java implementation of some fuzzy search algorithms.

How to use

  1. Add to your build.gradle:
allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}
  1. Add dependency:
dependencies {
    implementation 'com.github.EugeneLesnov:fuzzy-search:{version}'
}

Some examples

  1. NgramSearch
int power = 3;
String token = "query";
Collection<String> source = getSomeStringCollection();

Map<String, Float> matched = ngramSearch(power, token, source, String::toString);
matched.forEach((k, v) -> System.out.println("Token: " + k + "; Percentage: " + v));
  1. LevenshteinSearch
int precision = 4;
String token = "query";
Collection<String> source = getStringCollection();

Map<String, Integer> matched = levenshteinSearch(precision, token, source, String::toString);
matched.forEach((k, v) -> System.out.println("Token: " + k + "; Levenshtein distance: " + v));

About

Java implementation of some in-memory fuzzy search algorithms

License:MIT License


Languages

Language:Java 100.0%