All Projects → mikegoatly → Lifti

mikegoatly / Lifti

Licence: mit
A lightweight full text indexer for .NET

Projects that are alternatives of or similar to Lifti

Groonga
An embeddable fulltext search engine. Groonga is the successor project to Senna.
Stars: ✭ 617 (+911.48%)
Mutual labels:  full-text-search
Veil
A template renderer / view engine for .NET
Stars: ✭ 23 (-62.3%)
Mutual labels:  dotnet-standard
Audioworks
A cross-platform, multi-format audio conversion and tagging suite
Stars: ✭ 35 (-42.62%)
Mutual labels:  dotnet-standard
Featuretoggle
Simple, reliable feature toggles in .NET
Stars: ✭ 641 (+950.82%)
Mutual labels:  dotnet-standard
Geneticsharp
GeneticSharp is a fast, extensible, multi-platform and multithreading C# Genetic Algorithm library that simplifies the development of applications using Genetic Algorithms (GAs).
Stars: ✭ 813 (+1232.79%)
Mutual labels:  dotnet-standard
Walrus
Lightweight Python utilities for working with Redis
Stars: ✭ 846 (+1286.89%)
Mutual labels:  full-text-search
Steeltoe
Steeltoe .NET Core Components: CircuitBreaker, Configuration, Connectors, Discovery, Logging, Management, and Security
Stars: ✭ 612 (+903.28%)
Mutual labels:  dotnet-standard
Farmhash.sharp
Port of Google's farmhash algorithm to .NET
Stars: ✭ 52 (-14.75%)
Mutual labels:  dotnet-standard
Sendgrid Csharp
The Official Twilio SendGrid Led, Community Driven C#, .NetStandard, .NetCore API Library
Stars: ✭ 835 (+1268.85%)
Mutual labels:  dotnet-standard
Lunr.js
A bit like Solr, but much smaller and not as bright
Stars: ✭ 7,846 (+12762.3%)
Mutual labels:  full-text-search
Electron.net
Build cross platform desktop apps with ASP.NET Core (Razor Pages, MVC, Blazor).
Stars: ✭ 6,074 (+9857.38%)
Mutual labels:  dotnet-standard
Tweetinvi
Tweetinvi, an intuitive Twitter C# library for the REST and Stream API. It supports .NET, .NETCore, UAP (Xamarin)...
Stars: ✭ 812 (+1231.15%)
Mutual labels:  dotnet-standard
Bitskinsapi
A wrapper for the BitSkins API, build on .NET Standard 2.0
Stars: ✭ 13 (-78.69%)
Mutual labels:  dotnet-standard
Mathparser.org Mxparser
Math Parser Java Android C# .NET/MONO (.NET Framework, .NET Core, .NET Standard, .NET PCL, Xamarin.Android, Xamarin.iOS) CLS Library - a super easy, rich and flexible mathematical expression parser (expression evaluator, expression provided as plain text / strings) for JAVA and C#. Main features: rich built-in library of operators, constants, math functions, user defined: arguments, functions, recursive functions and general recursion (direct / indirect). Additionally parser provides grammar and internal syntax checking.
Stars: ✭ 624 (+922.95%)
Mutual labels:  dotnet-standard
Nightingale Core
A .NET Standard library containing models and functionality for managing, organizing, and sending a collection of HTTP requests using the Nightingale Collection Format. This library is the heart of Nightingale REST Client on Windows 10.
Stars: ✭ 47 (-22.95%)
Mutual labels:  dotnet-standard
Manticoresearch
Database for search
Stars: ✭ 610 (+900%)
Mutual labels:  full-text-search
Raftman
A syslog server with integrated full text search via a JSON API and Web UI
Stars: ✭ 26 (-57.38%)
Mutual labels:  full-text-search
Technitiumlibrary
A library for .net based applications.
Stars: ✭ 53 (-13.11%)
Mutual labels:  dotnet-standard
Ais.net
.NET Standard, high performance, zero allocation AIS decoder, which can process millions of AIVDM/AIVDO sentences per second on a single core. Sponsored by endjin
Stars: ✭ 49 (-19.67%)
Mutual labels:  dotnet-standard
Flexsearch
Next-Generation full text search library for Browser and Node.js
Stars: ✭ 8,108 (+13191.8%)
Mutual labels:  full-text-search

Build Status

LIFTI

A lightweight full text indexer for .NET

Documentation

Read the documentation - there's lots of useful information and examples there.

Try it out!

Use LIFTI in a Blazor app - try out various queries against Wikipedia content

Simplest possible quick starts

Install-Package Lifti.Core

Indexing loose text

Indexing objects

Contribute

It would be great to have more people contributing to LIFTI - how can you help?

  • Create issues for bugs you find - level 1
  • Create feature suggestions - level 2
  • Create pull requests for documentation changes - level 3
  • Create pull requests for bug fixes or features - boss level

Goals

  1. Provide a very simple way to build an in-memory full text index.
  2. netstandard2 compatibility
  3. Persistance via explicit serialization/deserialization points. Automatic persistance to a backing store upon changes to the index is out of scope.

Non-goals

  1. Distributed transactions are out of scope and don't make much sense anyway given automatic persistance is not in scope. (the old version did support this but I don't think anyone actually used it though - I know didn't :))

Significant differences between new and old implementations

The old implementation followed a very simple tree structure where every node in the tree linked to its descendants via relevant chars, e.g.:

A
╚P
 ╠E (matches APE)
 ╚P
  ╚L
   ╚E (matches APPLE)

The new implementation expands upon this by allowing a node to also contain a series of "intra-node" characters - this reduces the number of nodes in the tree, reducing the overall memory footprint and allows for potential gains in search times. (less object traversal required):

AP
 ╠E (matches APE)
 ╚PLE (matches APPLE)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].