Beispiel #1
0
        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);
        }
Beispiel #3
0
        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;
        }
Beispiel #5
0
        private void ExecuteInspectDocuments()
        {
            var selectedTerm  = (TermInfo)Terms.CurrentItem;
            var termToInspect = new TermToInspect {
                FieldName = selectedTerm.Field, TermName = selectedTerm.Term
            };

            _eventAggregator.GetEvent <InspectDocumentsForTermEvent>().Publish(termToInspect);
        }