public static async Task Segments(IOwinContext context, SearcherManager searcherManager) { searcherManager.MaybeReopen(); IndexSearcher searcher = searcherManager.Get(); try { IndexReader indexReader = searcher.IndexReader; JArray segments = new JArray(); foreach (ReadOnlySegmentReader segmentReader in indexReader.GetSequentialSubReaders()) { JObject segmentInfo = new JObject(); segmentInfo.Add("segment", segmentReader.SegmentName); segmentInfo.Add("documents", segmentReader.NumDocs()); segments.Add(segmentInfo); } await ServiceHelpers.WriteResponse(context, System.Net.HttpStatusCode.OK, segments); } finally { searcherManager.Release(searcher); } }
public static async Task Stats(IOwinContext context, SearcherManager searcherManager) { searcherManager.MaybeReopen(); IndexSearcher searcher = searcherManager.Get(); try { IndexReader indexReader = searcher.IndexReader; JObject result = new JObject(); result.Add("numDocs", indexReader.NumDocs()); result.Add("indexName", GetIndexName(searcherManager)); result.Add("lastReopen", GetLastReopen(searcherManager)); result.Add("commitUserData", GetCommitUserData(indexReader)); await ServiceHelpers.WriteResponse(context, System.Net.HttpStatusCode.OK, result); } finally { searcherManager.Release(searcher); } }