{"meta":{"name":"FindSoftware","page":"https://findsoftware.frbit.cloud/lifti/","markdown":"https://findsoftware.frbit.cloud/lifti.md","license":"https://creativecommons.org/licenses/by/4.0/","attribution":"FindSoftware, CC BY 4.0","note":"Attributes are recorded, never scored. An absent field means unknown, never zero and never bad."},"record":{"id":"lifti","name":"LIFTI","urls":{"home":"https://mikegoatly.github.io/lifti/","repository":"https://github.com/mikegoatly/lifti","docs":"https://mikegoatly.github.io/lifti/docs"},"category":["search"],"description":"In-memory full-text indexing library for .NET that indexes text and object properties and runs boolean queries over them.","maintainer":"Mike Goatly","maintainerType":"individual","firstRelease":2018,"hosting":["dotnet"],"language":"csharp","runtime":["dotnet"],"runtimeMin":"dotnet 8.0","contentStore":null,"databases":null,"adminUi":null,"headlessApi":null,"templating":null,"i18n":"English stemmer by default, custom stemmers","renderingModes":null,"installMethod":"Install-Package Lifti.Core","licenseModel":"open-source","license":"MIT","currentMajor":"7","latestReleaseDate":"2025-12-04T00:00:00.000Z","githubStargazers":202,"contributors":4,"packagistDownloads":null,"npmWeeklyDownloads":null,"checkedAt":"2026-10-28T00:00:00.000Z","addedAt":"2026-10-28T00:00:00.000Z","sources":[{"field":"urls","url":"https://mikegoatly.github.io/lifti/","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"urls","url":"https://api.github.com/repos/mikegoatly/lifti","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"urls","url":"https://mikegoatly.github.io/lifti/docs","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"maintainer","url":"https://raw.githubusercontent.com/mikegoatly/lifti/v7.0.2/LICENSE","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"maintainerType","url":"https://api.github.com/users/mikegoatly","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"category","url":"https://mikegoatly.github.io/lifti/docs","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"language","url":"https://api.github.com/repos/mikegoatly/lifti","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"runtime","url":"https://raw.githubusercontent.com/mikegoatly/lifti/v7.0.2/src/Lifti.Core/Lifti.Core.csproj","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"runtimeMin","url":"https://raw.githubusercontent.com/mikegoatly/lifti/v7.0.2/src/Lifti.Core/Lifti.Core.csproj","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"license","url":"https://api.github.com/repos/mikegoatly/lifti","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"license","url":"https://raw.githubusercontent.com/mikegoatly/lifti/v7.0.2/LICENSE","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"licenseModel","url":"https://raw.githubusercontent.com/mikegoatly/lifti/v7.0.2/LICENSE","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"installMethod","url":"https://mikegoatly.github.io/lifti/","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"i18n","url":"https://mikegoatly.github.io/lifti/docs","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"currentMajor","url":"https://api.github.com/repos/mikegoatly/lifti/releases/latest","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"latestReleaseDate","url":"https://api.github.com/repos/mikegoatly/lifti/releases/latest","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"firstRelease","url":"https://api.nuget.org/v3/registration5-semver1/lifti.core/index.json","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"githubStargazers","url":"https://api.github.com/repos/mikegoatly/lifti","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"contributors","url":"https://api.github.com/repos/mikegoatly/lifti/contributors","checkedAt":"2026-10-28T00:00:00.000Z"}],"status":"active","ai":"authored"},"prose":"LIFTI is a .NET library that builds a full-text index in memory. An application adds text against a key, or configures an index to read text from the properties of an object, and then runs queries that combine terms with operators. The index can be serialized to a stream and read back later, and the [docs](https://mikegoatly.github.io/lifti/docs) describe writing it to a backing file as changes are made.\n\nSearching uses the English Porter stemmer by default, and the docs describe implementing a custom stemmer for other needs. The package is distributed through NuGet, and the docs name client applications such as Blazor and ASP.NET applications that search a long list of words as use cases."}