GroupDocs.Search for .NET 24.10 Release Notes
Major Features
There are the following features, enhancements, and fixes in this release:
- Indexing errors for MD files
- Implement an option to extract text in a separate process
- Implement cancellation of document text extraction after a specified timeout
- Fix indexing of a specific Markdown file
- Fix Markdown files indexing issues
Full List of Issues Covering all Changes in this Release
Key | Summary | Category |
---|---|---|
SEARCHNET-3281 | Indexing errors for MD files | Fix |
SEARCHNET-3255 | Implement an option to extract text in a separate process | Feature |
SEARCHNET-3285 | Implement cancellation of document text extraction after a specified timeout | Feature |
SEARCHNET-3279 | Fix indexing of a specific Markdown file | Fix |
SEARCHNET-3280 | Fix Markdown files indexing issues | Fix |
Public API and Backward Incompatible Changes
Indexing errors for MD files
This fix resolves errors in indexing MD files.
Public API changes
None.
Use cases
None.
Implement an option to extract text in a separate process
This feature allows you to extract text and other data from documents in a separate process. Extraction in a separate process in case of insufficient memory when processing one document will not lead to the stop of the entire process of indexing a group of documents.
Public API changes
Class ExtractionHost has been added to GroupDocs.Search namespace.
Constructor ExtractionHost(System.String[]) has been added to GroupDocs.Search.ExtractionHost class.
Method Void Dispose() has been added to GroupDocs.Search.ExtractionHost class.
Method Void Run() has been added to GroupDocs.Search.ExtractionHost class.
Class SeparateProcessOptions has been added to GroupDocs.Search.Options namespace.
Property System.String AssemblyPath has been added to GroupDocs.Search.Options.SeparateProcessOptions class.
Property Boolean ExtractInSeparateProcess has been added to GroupDocs.Search.Options.SeparateProcessOptions class.
Property GroupDocs.Search.Options.SeparateProcessOptions SeparateProcessOptions has been added to GroupDocs.Search.Options.IndexingOptions class.
Property GroupDocs.Search.Options.SeparateProcessOptions SeparateProcessOptions has been added to GroupDocs.Search.Options.UpdateOptions class.
Use cases
The following code example demonstrates the code for a console application that will run in a separate process as a data extraction service.
C#
public class Program
{
static void Main(string[] args)
{
using (var host = new GroupDocs.Search.ExtractionHost(args))
{
host.Run();
}
}
}
For an example of setting indexing options to extract data in a separate process, see below. A complete code example of data extraction in a separate process is provided in the documentation article Extraction in separate process.
Implement cancellation of document text extraction after a specified timeout
This feature allows you to set a time limit for data extraction from one document when running in a separate process. When this time limit is reached, data extraction from the document is interrupted. At the same time, indexing of other documents in the added group of documents continues.
Public API changes
Property System.TimeSpan Timeout has been added to GroupDocs.Search.Options.SeparateProcessOptions class.
Use cases
The following code example demonstrates how to configure indexing options to extract data in a separate process.
C#
string indexFolder = @"c:\MyIndex\";
string documentFolder = @"c:\MyDocuments\";
// Getting the path to the console application location
string assemblyPath = typeof(GroupDocs.Search.Extraction.Program).Assembly.Location;
// Creating an index in the specified folder
Index index = new Index(indexFolder);
// Setting indexing options for data extraction in a separate process
IndexingOptions options = new IndexingOptions();
options.SeparateProcessOptions.ExtractInSeparateProcess = true;
options.SeparateProcessOptions.AssemblyPath = assemblyPath;
options.SeparateProcessOptions.Timeout = new TimeSpan(0, 1, 0);
// Indexing documents from the specified folder
index.Add(documentFolder, options);
A complete code example of data extraction in a separate process is provided in the documentation article Extraction in separate process.
Fix indexing of a specific Markdown file
Fixed memory leak when indexing a specific Markdown file.
Public API changes
None.
Use cases
None.
Fix Markdown files indexing issues
Indexing of some MD documents has been fixed.
Public API changes
None.
Use cases
None.