public IEnumerable <DocumentInfo> SearchDocumentsFor(TermToInspect termToInspect) { // ToDo: a bit clean up is required here. // It has been implementely very quickly and with a lot of deprecated methods IndexSearcher searcher = null; try { searcher = new IndexSearcher(_openIndexModel.Directory, _openIndexModel.ReadOnly); var queryParser = new QueryParser(termToInspect.FieldName, new StandardAnalyzer()); var query = queryParser.Parse(termToInspect.TermName); var hits = searcher.Search(query); for (var i = 0; i < hits.Length(); i++) { yield return(GetDocumentInfo(hits.Id(i))); } } finally { if (searcher != null) { searcher.Close(); } } yield break; }
private void InspectDocument() { var term = new TermToInspect { FieldName = (string)Fields.CurrentItem, TermName = TermToInspect }; InspectDocuments(term); }
private void ActivateDocumentsView(TermToInspect termToInspect) { // ToDo: This is not very nice, I know. I will have to find a better way to activate the tab var documentsRegion = _regionManager.Regions[Regions.LuceneShellRegion]; var view = documentsRegion.Views.OfType <LuceneShell>().Single(); view.DocumentsTab.IsSelected = true; }
private void InspectDocuments(TermToInspect termToInspect) { _foundDocuments = _documentService.SearchDocumentsFor(termToInspect).OrderBy(d => d.DocumentNumber); ResultCount = _foundDocuments.Count(); IndexOfDocumentToBrowse = 0; Fields.MoveCurrentTo(_fields.Single(f => string.Equals(f, termToInspect.FieldName))); TermToInspect = termToInspect.TermName; }
private void ExecuteInspectDocuments() { var selectedTerm = (TermInfo)Terms.CurrentItem; var termToInspect = new TermToInspect { FieldName = selectedTerm.Field, TermName = selectedTerm.Term }; _eventAggregator.GetEvent <InspectDocumentsForTermEvent>().Publish(termToInspect); }