Documents can be deleted from the search network using the delete method of the Indexer class.
To delete documents, pass a list of document keys, as well as a delete options object, to the delete method of the Indexer class. The keys are the keys that were specified when the documents were added.
Deleted documents are excluded from search results immediately, but their data are physically removed from the shards only by optimization.
An asynchronous delete flag is available as an option (DeleteOptions.is_async). In the case of asynchronous deletion, you can track the completion of the operation by subscribing to the deletion_completed event.
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. The examples that follow continue this code in the same Python process.
fromgroupdocs.search.commonimportFileLoggerfromgroupdocs.search.scalingimportSearchNetworkNodefromgroupdocs.search.scaling.configuringimportConfiguration,TcpSettingsbase_path="./SearchNetwork/"base_port=49100# Loading the search network configuration from a fileconfiguration=Configuration.load(base_path+"Configuration.xml")# Creating, configuring and starting the master node; the timeouts are specified in millisecondsnode=SearchNetworkNode.create_master_node(0,base_path+"Node0",TcpSettings(base_port,3000,3000,3000,1000),FileLogger(base_path+"Log.txt",4.0),configuration)node.configure_all_nodes()node.start()
The following code example, which continues the previous one, demonstrates how to delete documents from the search network. The documents were added from the files of the specified folder with the file names as document keys.