MaigoLabs.NeedLe 1.1.0

dotnet add package MaigoLabs.NeedLe --version 1.1.0
                    
NuGet\Install-Package MaigoLabs.NeedLe -Version 1.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MaigoLabs.NeedLe" Version="1.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MaigoLabs.NeedLe" Version="1.1.0" />
                    
Directory.Packages.props
<PackageReference Include="MaigoLabs.NeedLe" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add MaigoLabs.NeedLe --version 1.1.0
                    
#r "nuget: MaigoLabs.NeedLe, 1.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package MaigoLabs.NeedLe@1.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=MaigoLabs.NeedLe&version=1.1.0
                    
Install as a Cake Addin
#tool nuget:?package=MaigoLabs.NeedLe&version=1.1.0
                    
Install as a Cake Tool

MaigoLabs.NeedLe

Fuzzy search engine for small text pieces, with Chinese/Japanese pronunciation support.

See also in-browser demo (TypeScript version, but the same features as in C#).

Install

dotnet add package MaigoLabs.NeedLe

Or install sub-packages separately:

dotnet add package MaigoLabs.NeedLe.Indexer  # For building indexes
dotnet add package MaigoLabs.NeedLe.Searcher # For searching only

Usage

Indexing

Indexing requires dictionaries. These are installed as dependencies of the MaigoLabs.NeedLe.Indexer package:

  • MeCab.DotNet
  • OpenccNetLib
  • hyjiacan.pinyin4net
using MaigoLabs.NeedLe.Indexer;

var documents = new[] { "你好世界", "こんにちは" };
var compressedIndex = InvertedIndexBuilder.BuildInvertedIndex(documents);
// To customize dictionary paths, pass the second argument `TokenizerOptions` to `BuildInvertedIndex`.

// The built index could be stored for later use, or sent to frontend to load with TypeScript package `@maigolabs/needle`.
// For compatibility with .NET Standard, we don't provide JSON related methods. You can use any JSON library to serialize/deserialize the index in the way you prefer.
var json = JsonSerializer.Serialize(compressedIndex);

Searching

Searching requires a prebuilt index but doesn't require dictionaries. Searcher is a lightweight package without dependencies.

using MaigoLabs.NeedLe.Searcher;

// Index returned by `BuildInvertedIndex`.
var index = InvertedIndexLoader.Load(compressedIndex);

var results = InvertedIndexSearcher.Search(index, "sekai");
foreach (var result in results) Console.WriteLine($"{result.DocumentText} ({result.MatchRatio:P0})")
// → 你好世界 (50%)

To highlight the search result, see also SearchResultHighlighter.

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.0 453 1/6/2026
1.0.0 424 12/31/2025