Search network node events

This page contains information about the purpose and use of all search network events. The events are available through the Events property of the SearchNetworkNode class, which returns an instance of the NodeEventHub class.

ConfigurationCompleted event

The ConfigurationCompleted event occurs when the search network configuration process is finished.

IndexingCompleted event

The IndexingCompleted event occurs when indexing of all enqueued documents is finished.

ExtractionCompleted event

The ExtractionCompleted event occurs when the extraction of all enqueued documents started by the Extract method is finished. See the Indexing documents page.

DeletionCompleted event

The DeletionCompleted event occurs when all enqueued deletions of documents are finished.

OptimizationCompleted event

The OptimizationCompleted event occurs when optimization of all nodes is finished.

SynchronizationCompleted event

The SynchronizationCompleted event occurs when synchronization with all nodes is finished.

AttributeChangesCompleted event

The AttributeChangesCompleted event occurs when all enqueued attribute changes are finished.

StatusChanged event

The StatusChanged event occurs when the search network status changes.

DataExtracted event

The DataExtracted event occurs when the data have been extracted from a document. The extracted data are available through the Data property of the event arguments.

DocumentIndexed event

The DocumentIndexed event occurs when a document has been indexed.

DocumentDeleted event

The DocumentDeleted event occurs when a document has been deleted.

ErrorOccurred event

The ErrorOccurred event of a node occurs when an error occurs on this node. The event arguments contain the indexes of the node and the service where the error occurred. The errors of all nodes are also written to the logger of the master node.

IndexingProgressChanged event

The IndexingProgressChanged event occurs when the progress of the indexing operation has changed.

OptimizationProgressChanged event

The OptimizationProgressChanged event occurs when the progress of the optimization operation has changed.

Code example

The examples on this page use the master node of a running search network. The following code creates and starts the master node as described on the Search network deployment page; the slave nodes must be started beforehand.

C#

string basePath = @"c:\SearchNetwork\";
int basePort = 49100;

// Loading the search network configuration from a file
Configuration configuration = Configuration.Load(basePath + "Configuration.xml");

// Creating, configuring and starting the master node; the timeouts are specified in milliseconds
SearchNetworkNode node = SearchNetworkNode.CreateMasterNode(
    0,
    basePath + "Node0",
    new TcpSettings(basePort, 3000, 3000, 3000, 1000),
    new FileLogger(basePath + "Log.txt", 4.0),
    configuration);
node.ConfigureAllNodes();
node.Start();

The following code example, which continues the previous one, demonstrates subscribing to the search network events.

C#

node.Events.IndexingCompleted += (s, e) =>
{
    Console.WriteLine("Indexing complete");
};
node.Events.ExtractionCompleted += (s, e) =>
{
    Console.WriteLine("Extraction complete");
};
node.Events.DeletionCompleted += (s, e) =>
{
    Console.WriteLine("Deleting complete");
};
node.Events.OptimizationCompleted += (s, e) =>
{
    Console.WriteLine("Optimization complete");
};
node.Events.SynchronizationCompleted += (s, e) =>
{
    Console.WriteLine("Synchronization complete");
};
node.Events.AttributeChangesCompleted += (s, e) =>
{
    Console.WriteLine("Attribute changes complete");
};
node.Events.StatusChanged += (s, e) =>
{
    Console.WriteLine("Status changed: " + e.OldStatus + " -> " + e.NewStatus);
};
node.Events.DataExtracted += (s, e) =>
{
    Console.WriteLine("Data extracted (" + e.ExtractorIndex + "): " + e.DocumentKey);
};
node.Events.DocumentIndexed += (s, e) =>
{
    Console.WriteLine("Document indexed (" + e.ShardIndex + "): " + e.DocumentKey);
};
node.Events.DocumentDeleted += (s, e) =>
{
    Console.WriteLine("Document deleted (" + e.ShardIndex + "): " + e.DocumentKey);
};
node.Events.ErrorOccurred += (s, e) =>
{
    Console.WriteLine("Error occurred (" + e.NodeIndex + ", " + e.ServiceIndex + "): " + e.Message);
};
node.Events.IndexingProgressChanged += (s, e) =>
{
    Console.WriteLine("Indexing progress changed (" + e.NodeIndex + ", " + e.ServiceIndex + "): " + e.ProgressPercentage);
};
node.Events.OptimizationProgressChanged += (s, e) =>
{
    Console.WriteLine("Optimization progress changed (" + e.NodeIndex + ", " + e.ServiceIndex + "): " + e.ProgressPercentage);
};

More resources

GitHub examples

You may easily run the code from documentation articles and see the features in action in our GitHub examples:

Free online document search App

Along with full featured .NET library we provide simple, but powerful free Apps.

You are welcome to search over your PDF, DOC, DOCX, PPT, PPTX, XLS, XLSX and more with our free online Free Online Document Search App.

Close
Loading

Analyzing your prompt, please hold on...

An error occurred while retrieving the results. Please refresh the page and try again.