GroupDocs.Search for .NET 24.11 Release Notes

Major Features

There are the following features, enhancements, and fixes in this release:

  • Implement the ability to use a custom extractor in a separate process
  • Implement instant process termination when extracting data in a separate process
  • Implement a flag for using dotnet to start the extraction process

Full List of Issues Covering all Changes in this Release

KeySummaryCategory
SEARCHNET-3305Implement the ability to use a custom extractor in a separate processEnhancement
SEARCHNET-3331Implement instant process termination when extracting data in a separate processEnhancement
SEARCHNET-3335Implement a flag for using dotnet to start the extraction processEnhancement
SEARCHNET-3334Increase default search result limitsEnhancement

Public API and Backward Incompatible Changes

Implement the ability to use a custom extractor in a separate process

This enhancement introduces the ability to use custom extractors when extracting data from documents in a separate process. For information on how to implement a custom extractor, see the documentation article Custom text extractors.

Public API changes

Property GroupDocs.Search.Common.CustomExtractorCollection CustomExtractors has been added to GroupDocs.Search.ExtractionHost class.

Use cases

The following code example demonstrates how to use custom extractors when extracting data from documents in a separate process.

C#

public class Program
{
    static void Main(string[] args)
    {
        using (var host = new GroupDocs.Search.ExtractionHost(args))
        {
            host.CustomExtractors.Add(new SomeCustomExtractor());
            host.Run();
        }
    }
}

Implement instant process termination when extracting data in a separate process

This enhancement implements immediate process termination when a data extraction operation in a separate process is cancelled via Cancellation class instance.

Public API changes

None.

Use cases

None.

Implement a flag for using dotnet to start the extraction process

This enhancement adds a flag to use dotnet to start the extraction process. By default, the flag is set to true. Set the value to false if you want to start a self-contained application. Note that dotnet is never used to start on the old .NET Framework.

Public API changes

Property Boolean UseDotnetToStartProcess has been added to GroupDocs.Search.Options.SeparateProcessOptions class.

Use cases

The following code example demonstrates how to start a self-contained application that does not require dotnet to start.

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);
options.SeparateProcessOptions.UseDotnetToStartProcess = false; // For self-contained application

// Indexing documents from the specified folder
index.Add(documentFolder, options);

Increase default search result limits

Increased default search result limits: SearchOptions.MaxOccurrenceCountPerTerm to 2000000000, SearchOptions.MaxTotalOccurrenceCount to 2000000000.

Public API changes

None.

Use cases

None.