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

KeySummaryCategory
SEARCHNET-3281Indexing errors for MD filesFix
SEARCHNET-3255Implement an option to extract text in a separate processFeature
SEARCHNET-3285Implement cancellation of document text extraction after a specified timeoutFeature
SEARCHNET-3279Fix indexing of a specific Markdown fileFix
SEARCHNET-3280Fix Markdown files indexing issuesFix

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.