public static void ExecuteMethod_PerformIndexing(IContainerOwner owner, IndexingRequest indexingRequest, string luceneIndexFolder)
 {
     string indexName = indexingRequest.IndexName;
     List<Document> documents = new List<Document>();
     List<string> removeDocumentIDs = new List<string>();
     foreach (var objLocation in indexingRequest.ObjectLocations)
     {
         IInformationObject iObj = StorageSupport.RetrieveInformation(objLocation, null, owner);
         if (iObj == null)
         {
             var lastSlashIX = objLocation.LastIndexOf('/');
             var objectID = objLocation.Substring(lastSlashIX + 1);
             removeDocumentIDs.Add(objectID);
             continue;
         }
         IIndexedDocument iDoc = iObj as IIndexedDocument;
         if (iDoc != null)
         {
             var luceneDoc = iDoc.GetLuceneDocument(indexName);
             if (luceneDoc == null)
                 continue;
             luceneDoc.RemoveFields("ObjectDomainName");
             luceneDoc.RemoveFields("ObjectName");
             luceneDoc.RemoveFields("ObjectID");
             luceneDoc.RemoveFields("ID");
             luceneDoc.Add(new Field("ObjectDomainName", iObj.SemanticDomainName, Field.Store.YES, Field.Index.ANALYZED, Field.TermVector.NO));
             luceneDoc.Add(new Field("ObjectName", iObj.Name, Field.Store.YES, Field.Index.ANALYZED, Field.TermVector.NO));
             luceneDoc.Add(new Field("ObjectID", iObj.ID, Field.Store.YES, Field.Index.ANALYZED, Field.TermVector.NO));
             luceneDoc.Add(new Field("ID", iObj.ID, Field.Store.YES, Field.Index.ANALYZED, Field.TermVector.NO));
             documents.Add(luceneDoc);
         }
     }
     FieldIndexSupport.AddAndRemoveDocuments(luceneIndexFolder, documents.ToArray(), removeDocumentIDs.ToArray());
 }
 public static IndexingRequest GetTarget_IndexingRequest(string[] objectsToIndex)
 {
     IndexingRequest indexingRequest = new IndexingRequest();
     var owner = InformationContext.CurrentOwner;
     indexingRequest.SetLocationAsOwnerContent(owner, indexingRequest.ID);
     indexingRequest.ObjectLocations.AddRange(objectsToIndex);
     indexingRequest.IndexName = IndexSupport.DefaultIndexName;
     return indexingRequest;
 }
 public static void ExecuteMethod_DeleteIndexingRequest(IndexingRequest indexingRequest)
 {
     indexingRequest.DeleteInformationObject();
 }
 public static void ExecuteMethod_PutIndexingRequestToQueue(IndexingRequest indexingRequest)
 {
     string activeContainerName = StorageSupport.CurrActiveContainer.Name;
     IndexSupport.PutIndexingRequestToQueue(activeContainerName, indexingRequest.IndexName, InformationContext.CurrentOwner, indexingRequest.ID);
 }
 public static void ExecuteMethod_StoreObject(IndexingRequest indexingRequest)
 {
     indexingRequest.StoreInformation();
 }