Example #1
0
 public void Update(Document doc, IndexWorkItem workItem)
 {
     Update(
         new IndexOperation { Document = doc, Type = IndexOperationType.Save },
         workItem
         );
 }
Example #2
0
 public void Update(IndexOperation operation, IndexWorkItem workItem)
 {
     operation.Document.Index = this.index;
     lock (queueLock)
     {
         pendingDocuments.Add(operation);
     }
     Fire(workItem);
 }
Example #3
0
 public void Update(IEnumerable<Document> batch, IndexWorkItem workItem)
 {
     //TODO: Validate against the supplied schema
     this.writer.Update(batch, workItem);
 }
Example #4
0
 public IndexWorkItem Update(IEnumerable<Document> batch)
 {
     var wi = new IndexWorkItem();
     Update(batch, wi);
     return wi;
 }
Example #5
0
 public void Update(Document document, IndexWorkItem workItem)
 {
     //TODO: Validate against the supplied schema
     this.writer.Update(document, workItem);
 }
Example #6
0
 public IndexWorkItem Update(Document document)
 {
     var wi = new IndexWorkItem();
     Update(document, wi);
     return wi;
 }
Example #7
0
 public static void WaitFor(IndexWorkItem workItem)
 {
     workItem.WaitOne();
 }
Example #8
0
            public void Update(IEnumerable<Document> batch, IndexWorkItem workItem)
            {
                var list = new List<IndexOperation>();

                foreach (var doc in batch)
                {
                    list.Add(new IndexOperation { Document = doc, Type = IndexOperationType.Save });
                }

                Update(list, workItem);
            }
Example #9
0
 void Fire(IndexWorkItem workItem)
 {
     var wi = new ThreadPoolWorkItem("", true, false, 1, new ThreadStart(DoIndexing), workItem);
     pool.AddWorkItem(wi);
 }
Example #10
0
 public void Update(IEnumerable<IndexOperation> batch, IndexWorkItem workItem)
 {
     batch.SetIndex(index);
     lock (queueLock)
     {
         pendingDocuments.AddRange(batch);
     }
     Fire(workItem);
 }