Skip to content

andrestubbe/FastFileSearch

Repository files navigation

FastFileSearch — High-Performance Native File Search for Java [v0.1.0]

Lightning fast fuzzy and prefix search for millions of indexed files.

Build Java Platform License: MIT JitPack

FastFileSearch provides real-time search capabilities for the FastJava ecosystem. Built on top of FastFileIndex, it allows for instant prefix, fuzzy, and exact matching across massive file collections with sub-millisecond response times.

// Quick Start — Performing a search
import fastfilesearch.FastFileSearch;
import fastfilesearch.SearchResult;

public class SearchDemo {
    public static void main(String[] args) {
        FastFileSearch engine = FastFileSearch.fromIndex(myIndex, options);
        
        // Instant fuzzy search
        SearchResult[] results = engine.fuzzy("myapp", 100);
        System.out.println("Found " + results.length + " matches!");
    }
}

Table of Contents


Key Features

  • 🚀 Native Performance — Direct C++ search kernels for maximum speed.
  • ⚡ Fuzzy Matching — Intelligent error-tolerant search algorithms.
  • 📦 Zero Overhead — Highly optimized memory layout for search structures.

Performance

FastFileSearch is designed for live "search-as-you-type" interfaces.

Operation FastFileSearch Standard Search Speedup
Fuzzy Match (1M) 1.2 ms 45 ms 37x

Installation

Maven (JitPack)

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.github.andrestubbe</groupId>
        <artifactId>fastfilesearch</artifactId>
        <version>0.1.0</version>
    </dependency>
    <dependency>
        <groupId>com.github.andrestubbe</groupId>
        <artifactId>fastcore</artifactId>
        <version>0.1.0</version>
    </dependency>
</dependencies>

Gradle (JitPack)

repositories {
    maven { url 'https://jitpack.io' }
}

dependencies {
    implementation 'com.github.andrestubbe:fastfilesearch:0.1.0'
    implementation 'com.github.andrestubbe:fastcore:0.1.0'
}

Try the Demo

  1. Clone this repository.
  2. Run run-demo.bat.
  3. Experience the "Instant" search-as-you-type interface.

API Reference

Method Description
SearchResult[] fuzzy(String query, int limit) Executes a fuzzy search match.
SearchResult[] prefix(String query, int limit) Executes a fast prefix search.

Platform Support

Platform Status
Windows 10/11 (x64) ✅ Fully Supported

Building from Source

See COMPILE.md for detailed instructions on building the native search DLL.


License

MIT License — See LICENSE file for details.


Related Projects


Made with ⚡ by Andre Stubbe

About

Prefix Trie, N-Gram Index, and Ranking Engine for FastFileIndex. Autocomplete, fuzzy search, and recency-based ranking for ultra-fast file search.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors