{"id":22835274,"url":"https://github.com/jchristn/indexengine","last_synced_at":"2025-08-09T20:03:34.718Z","repository":{"id":63935445,"uuid":"62097415","full_name":"jchristn/IndexEngine","owner":"jchristn","description":"IndexEngine is a lightweight document and text indexing platform written in C#.","archived":false,"fork":false,"pushed_at":"2022-01-07T16:13:34.000Z","size":48337,"stargazers_count":38,"open_issues_count":0,"forks_count":8,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-08-01T04:13:04.462Z","etag":null,"topics":["database","index","nuget","search","sqlite"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jchristn.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":["jchristn"],"custom":["https://paypal.me/joelchristner"]}},"created_at":"2016-06-28T00:29:07.000Z","updated_at":"2025-06-01T13:41:57.000Z","dependencies_parsed_at":"2023-01-14T15:15:18.317Z","dependency_job_id":null,"html_url":"https://github.com/jchristn/IndexEngine","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/jchristn/IndexEngine","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jchristn%2FIndexEngine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jchristn%2FIndexEngine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jchristn%2FIndexEngine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jchristn%2FIndexEngine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jchristn","download_url":"https://codeload.github.com/jchristn/IndexEngine/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jchristn%2FIndexEngine/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269631157,"owners_count":24450144,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-09T02:00:10.424Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","index","nuget","search","sqlite"],"created_at":"2024-12-12T22:09:06.078Z","updated_at":"2025-08-09T20:03:29.680Z","avatar_url":"https://github.com/jchristn.png","language":"C#","funding_links":["https://github.com/sponsors/jchristn","https://paypal.me/joelchristner"],"categories":[],"sub_categories":[],"readme":"![alt tag](https://github.com/jchristn/indexengine/blob/master/assets/icon.png)\n\n# IndexEngine\n\n[![NuGet Version](https://img.shields.io/nuget/v/IndexEngine.svg?style=flat)](https://www.nuget.org/packages/IndexEngine/) [![NuGet](https://img.shields.io/nuget/dt/IndexEngine.svg)](https://www.nuget.org/packages/IndexEngine) \n\nIndexEngine is a lightweight document and text indexing platform written in C# targeted to both .NET Core and .NET Framework.  IndexEngine uses Sqlite as a storage repository for index data. \n\nIndexEngine does NOT provide storage of the original documents.\n\n## New in v2.1.3\n\n- .NET 5 support\n- Migrate to ORM\n\n## Help or feedback\n\nFirst things first - do you need help or have feedback?  Contact me at joel dot christner at gmail dot com or file an issue here!\n\n## Performance and scale\n\nIt's pretty quick :)  It hasn't been tested with large document libraries or large files, so I'd recommend testing thoroughly before using in production. \n\n## Simple Example\n```csharp\nusing Indexer;\n\nIndexEngine ie = new IndexEngine(\"idx.db\");\n\n// Add a document\nDocument d = new Document(\n  \"GUID\",              // GUID supplied by the caller\n  \"Title\",             // i.e. Mark Twain\n  \"Description\",       // i.e. A Great Book\n  \"File Path or URL\",  // i.e. C:\\Documents\\MarkTwain.txt\n  \"Source\",            // i.e. The Internet\n  \"AddedBy\",           // i.e. Joel\n  Encoding.UTF8.GetBytes(\"This is some sample data for indexing\")\n);\nawait ie.AddAsync(d);  // async\nie.Add(d);             // sync\n\n// Search the index\nList\u003cstring\u003e terms = new List\u003cstring\u003e { \"some\", \"data\" };\nList\u003cDocument\u003e results = ie.Search(terms);\nforeach (Document d in results) Console.WriteLine(d.ToString());\n\n// Find document GUIDs where terms can be found\nList\u003cstring\u003e guids = i.e.GetDocumentGuidsByTerms(terms);\nforeach (string s in results) Console.WriteLine(s);\n\n// List number of threads actively indexing documents\nConsole.WriteLine(\"Number of documents being indexed now: \" + ie.CurrentIndexingThreads);\n\n// Get the names of docs that are currently being indexed\nIEnumerable\u003cstring\u003e activeDocs = ie.DocumentsIndexing();\n\n// Delete documents from the index\nie.DeleteDocumentByGuid(\"abcd1234...\");\nie.DeleteDocumentByHandle(\"C:\\\\Documents\\\\MarkTwain.txt\");\n\n// Retrieve documents\nDocument d = GetDocumentByGuid(\"abcd1234...\");\nDocument d = GetDocumentByHandle(\"C:\\\\Documents\\\\MarkTwain.txt\");\nbool b = IsGuidIndexed(\"abcd1234...\");\nbool b = IsHandleIndexed(\"C:\\\\Documents\\\\MarkTwain.txt\");\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjchristn%2Findexengine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjchristn%2Findexengine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjchristn%2Findexengine/lists"}