GroupDocs.Search for .NET is a document and text search API for business applications developed in C#, ASP.NET and other .NET technologies. This .NET API supports basic to advanced search features, e.g., creation and merging of multiple indexes, searching through indexes using Simple, Boolean, Fuzzy, Regular Expression (regex) and other query types to fetch your required data, from files, documents and emails, through smart search. If you want to build a fast, reliable, smart and feature-rich search application for your end-users, supporting all popular file formats, GroupDocs.Search for .NET is all that you need.
At A Glance
An overview of .NET Search API for documents text retrieval.
- Create & Manage
- Merge Multiple Indexes
- Multi-Threading Async Indexing
- Compact Indexing
- Archived Files Indexing
- Fuzzy Search
- Synonym Search
- Email Search
- Handling of Homophonic Terms
- Searching Protected Files
- Wild Card
- Regular Expression (Regex)
- Faceted & Boolean
- Case Sensitive
Documents full text search within any of your .NET application
- Windows Desktop (x86 & x64)
- Windows Server (x86 & x64)
- Windows Azure
- .NET Framework 2.0 or higher
Search API Supported File Formats
- Word: DOC, DOCX, DOCM, DOT, DOTX, DOTM
- Excel: XLS, XLSX, XLSM, XLTX, XLTM, XLSB
- PowerPoint: PPT, PPTX, POT, POTX, PPS, PPSX, PPTM, PPSM
- Microsoft Compiled HTML: CHM
- OneNote: ONE
- Portable Document Format: PDF
- OpenOffice Document: ODT, OTT
- OpenOffice Spreadsheet: ODS
- OpenOffice Presentation: ODP
- Email: PST, OST, MSG, EML, EMLX
- Text: TXT
- Electronic Publishing: EPUB
- FictionBook: FB2
- ZIP Archives: ZIP
- Rich Text Format: RTF
GroupDocs.Search for .NET Features
Create Index in Memory or on Disk & Perform Multi-threaded Indexing & Merging
Prevent Indexing for Already Indexed Files or with a Specific String in its Name
View Progress Percentage of Index Creation and Updation & Get Search Report
Index Status Notification about Recently Processed Files
Index ZIP Archives within ZIP Archives & Get List of Indexed Files contained in an Archive
Use List or Import to Replace Characters during Indexing & Export them to a File
Index & Search Password Protected Files & Compact Indexing to Save Disk Space
Extract Text from Index or Source File & Automatically Save Text File Encoding in Index
Make Indexing Faster by Excluding Specific Words
Searching Complete Phrase with Stop Words
Set Similarity Level in Fuzzy Search & Display Best Results Only
Smart Handling of Typing Mistakes through Fuzzy Search
Combine Faceted Search with Boolean Search
Search based on Homophonic Terms, Synonyms, Date Range, Wild Cards & Case Sensitivity
Index & Search Emails from Outlook & Browse using Aspose.Email API
Supports Spell Check & Wild Cards in Search Queries & Skip Special Characters in Search Phrases
Limit Results for Each Term in Search Query as well as for All Results
Extract HTML Text to a File & Generate URL to Navigate HTML-Formatted Search Results
Combine Multiple Queries into Single Object Tree
Alert User for Non-Supportive Settings & Auto-Index Reload in case of Indexing Error
Auto-Abort Search after Pre-Defined Time Period
Indexing & Search
GroupDocs.Search for .NET API frequently uses index in order to perform search. Indexes are used to collect, parse or store data for fast and accurate searching.
- Create Index: Create Index folder and add/index documents to that folder.
- Load Index: Load an existing Index.
- Add Documents to Index: Add documents to existing Index, asynchronously.
- Update Index: Update existing Index, whenever a document is modified, added or deleted. This keeps search results up to date.
Idenxing & Search with Default Parameters using C#
// Create index Index index = new Index(@"c:\MyIndex"); // Add documents to index index.AddToIndex(@"c:\MyDocuments"); // Search in index SearchResults searchResults = index.Search("searchTerm");
Merge Multiple Indices to Improve Search Efficiency
GroupDocs.Search for .NET is able to merge multiple indices into a singular index. If an index is frequently updated, it has several delta indices, but this approach reduces search performance. GroupDocs.Search for .NET API merges all delta indices into one consolidated index. The primary merged index will contain all the information from the merged delta indices; however, the delta indices will remain unchanged. This approach used by our API considerably improves the search efficiency. Index merging feature, provides numerous functionalities to tweak to further tweak this process.
Store Text in Index to Generate HTML Markup
GroupDocs.Search for .NET can cache text of indexed documents in an index. This cached text is then used to rapidly generate HTML markup by highlighting search results. This approach is lot faster than extracting text directly from files. Retrieving text from cache will be available even if the source files are no longer available. The cached text can be stored by applying various compression levels to occupy lesser disk space and faster indexing time.
Get Related Documents by Fuzzy & Regex Search
When you perform Fuzzy or Regex search, you can get the list of documents that exactly matches your provided input. However, you will also get a list of documents that contain words or terms similar to your input. For example, if using GroupDocs.Search for .NET, you perform fuzzy search for query “cost”, you will get documents containing word “cost” and documents containing similar words such as “coat”. The results will be dependent on what level of fuzziness you have configured using this API.
Recognize Search Queries of Different Keyboard Layout
GroupDocs.Search for .Net can recognize search queries written in a language that does not match your keyboard layout. Currently, this .NET API can successfully recognize 88 languages and 164 different keyboard layouts.
Search Using Morphological Word Form
GroupDocs.Search for .NET API allows you to search for various word forms. For example, for a noun you can search for its singular and plural forms. For a verb, you can search for all forms of that verb. You can also search for root, third-person singular, simple past and various other forms. For languages other than English, you can implement customized word forms.