MaigoLabs.NeedLe.Common
1.1.0
dotnet add package MaigoLabs.NeedLe.Common --version 1.1.0
NuGet\Install-Package MaigoLabs.NeedLe.Common -Version 1.1.0
<PackageReference Include="MaigoLabs.NeedLe.Common" Version="1.1.0" />
<PackageVersion Include="MaigoLabs.NeedLe.Common" Version="1.1.0" />
<PackageReference Include="MaigoLabs.NeedLe.Common" />
paket add MaigoLabs.NeedLe.Common --version 1.1.0
#r "nuget: MaigoLabs.NeedLe.Common, 1.1.0"
#:package MaigoLabs.NeedLe.Common@1.1.0
#addin nuget:?package=MaigoLabs.NeedLe.Common&version=1.1.0
#tool nuget:?package=MaigoLabs.NeedLe.Common&version=1.1.0
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.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages (3)
Showing the top 3 NuGet packages that depend on MaigoLabs.NeedLe.Common:
| Package | Downloads |
|---|---|
|
MaigoLabs.NeedLe
Fuzzy search engine for small text pieces, with Chinese/Japanese pronunciation support |
|
|
MaigoLabs.NeedLe.Searcher
Fuzzy search engine for small text pieces, with Chinese/Japanese pronunciation support |
|
|
MaigoLabs.NeedLe.Indexer
Fuzzy search engine for small text pieces, with Chinese/Japanese pronunciation support |
GitHub repositories
This package is not used by any popular GitHub repositories.