.NET API for Document Indexing & Text Search
Class Library to Index Data & Search Text in all popular document formats from Microsoft Word, Excel, PowerPoint, OneNote, Outlook as well as PDF, e-books, archives & more.
C# Document Search Engine
- Create index in memory or on the local disk.
- Merge several indexes.
- Improve search performance by optimizing index.
- Index password-protected files.
- Index with stop words.
- Support for indexing additional fields.
- Supports blended characters.
- Support for characters indexed as a whole word.
- Support for character replacement during indexing.
- Support for custom text extractors.
- Option for compact and metadata index.
- Save extracted text in index with different level of compression.
- Document filtering during indexing.
- Delete indexed paths from index.
- Filter documents in search results.
- Search for different object types, such as, text, numbers, dates, filenames etc.
- Combining different types of search into one search query.
- Alias substitution in search queries.
- Perform spell check during search.
- Perform keyboard layout correction during search.
- Search queries in text or flexible object form.
- Highlighting search results in the text of the entire document or in text segments.
- Multiple simultaneous thread safe search.
- Thread safe search during indexing, updating or merging operation.
- Search over several indexes simultaneously.
New Features & Enhancements in Version 20.11
- Get synonyms for a word as well as get synonym groups associated with a word.
- Get homophones for a word and as well as get homophone groups to which a word belongs to.
Please visit GroupDocs.Search for .NET 20.11 Release Notes for the detailed notes.
Content Indexing
Word Processing: DOC, DOT, DOCX, DOCM, DOTX, DOTM, TXT, ODT, OTT, RTF
Spreadsheets: XLS, XLT, XLSX, XLSM, XLSB, XLTX, XLTM, XLA, XLAM, ODS, OTS, CSV, TSV, XML
Presentations: PPT, PPS, POT, PPTX, PPTM, POTX, POTM, PPSX, PPSM, ODP
Emails: PST, OST, EML, EMLX, MSG
Notes: ONE
Archives: ZIP
Portable: PDF
Markup: HTML, XHTML, MHTML, MD, XML
eBook: CHM, EPUB, FB2
Word Processing: DOC, DOT, DOCX, DOCM, DOTX, DOTM, TXT, ODT, OTT, RTF
Spreadsheets: XLS, XLT, XLSX, XLSM, XLSB, XLTX, XLTM, XLA, XLAM, ODS, OTS, CSV, TSV, XML
Presentations: PPT, PPS, POT, PPTX, PPTM, POTX, POTM, PPSX, PPSM, ODP
Emails: PST, OST, EML, EMLX, MSG
Notes: ONE
Archives: ZIP
Audio: MP3, WAV
Portable: PDF
Markup: HTML, XHTML, MHTML, MD, XML
eBook: CHM, EPUB, FB2
Image: BMP, GIF, JP2, PNG, WEBP, TIFF, JPG, PSD, DJVU, DICOM
Metafiles: EMF, WMF
Project Management: MPP
Torrent: TORRENT
Visio Diagram: VSD, VSS
Medical Imagery: DCM
Video: AVI, MOV, QT, FLV, ASF
Search Types
- Simple word
- Boolean
- Regular expression
- Faceted
- Case sensitive
- Flexible fuzzy
- Synonym
- Homophone
- Wildcard
- Phrase
- Data range
- Numeric range
- Search by chunks
- Object type search
GroupDocs.Search for .NET does not require any external software or third party tool to be installed. GroupDocs.Search for .NET supports any 32-bit or 64-bit operating system where .NET or Mono framework is installed. The other details are as follows:
Microsoft Windows: Microsoft Windows Desktop (x86, x64) (XP & up), Microsoft Windows Server (x86, x64) (2000 & up), Windows Azure
macOS: Mac OS X
Linux: Linux (Ubuntu, OpenSUSE, CentOS and others)
Development Environments: Microsoft Visual Studio (2010 & up), Xamarin.Android, Xamarin.IOS, Xamarin.Mac, MonoDevelop 2.4 and later.
Supported Frameworks: GroupDocs.Search for .NET supports .NET and Mono frameworks.
string indexFolder = @"c:\MyIndex\";
string documentsFolder = @"c:\MyDocuments\";
// creating an index in the specified folder
Index index = new Index(indexFolder);
// indexing documents from the specified folder
index.Add(documentsFolder);
// search for the phrase in text form
// the first caret character at the beginning indicates that this is a regular expression search query
string query1 = "^^(.)\\1{1,}";
// search for two or more identical characters at the beginning of a word
SearchResult result1 = index.Search(query1);
// search for the phrase in object form
// search for two or more identical characters at the beginning of a word
SearchQuery query2 = SearchQuery.CreateRegexQuery("^(.)\\1{1,}");
SearchResult result2 = index.Search(query2);
Spell Check with Smart Search
string indexFolder = @"c:\MyIndex\";
string documentsFolder = @"c:\MyDocuments\";
// creating an index in the specified folder
Index index = new Index(indexFolder);
// indexing documents from the specified folder
index.Add(documentsFolder);
// creating a search options instance
SearchOptions options = new SearchOptions();
// enabling the spelling correction
options.SpellingCorrector.Enabled = true;
// setting the maximum number of mistakes
options.SpellingCorrector.MaxMistakeCount = 1;
// enabling the option for only the best results of the spelling correction
options.SpellingCorrector.OnlyBestResults = true;
// search for the word "Rleativity" containing a spelling error
// the word "Relativity" will be found that differs from the search query in two transposed letters
SearchResult result = index.Search("Rleativity", options);
Product Page | Docs | Demos | API Reference | Examples | Blog | Free Support | Temporary License