Lucene.Net.Search.IndexSearcher.Search C# (CSharp) Méthode

Search() public méthode

public Search ( Weight weight, Filter filter, int nDocs ) : Lucene.Net.Search.TopDocs
weight Weight
filter Filter
nDocs int
Résultat Lucene.Net.Search.TopDocs
		public override TopDocs Search(Weight weight, Filter filter, int nDocs)
		{
			
			if (nDocs <= 0)
			{
				throw new System.ArgumentException("nDocs must be > 0");
			}
            nDocs = Math.Min(nDocs, reader.MaxDoc);

			TopScoreDocCollector collector = TopScoreDocCollector.Create(nDocs, !weight.GetScoresDocsOutOfOrder());
			Search(weight, filter, collector);
			return collector.TopDocs();
		}
		

Same methods

IndexSearcher::Search ( Weight weight, Filter filter, int nDocs, Lucene.Net.Search.Sort sort ) : Lucene.Net.Search.TopFieldDocs
IndexSearcher::Search ( Weight weight, Filter filter, int nDocs, Lucene.Net.Search.Sort sort, bool fillFields ) : Lucene.Net.Search.TopFieldDocs
IndexSearcher::Search ( Weight weight, Filter filter, Collector collector ) : void

Usage Example

        public ActionResult Search(string query)
        {
            ViewData["Message"] = "query : " + query;

            var searcher = new IndexSearcher(
                new Lucene.Net.Store.SimpleFSDirectory(new DirectoryInfo(Configuration.IndexDirectory)),
                readOnly: true);

            var fieldsToSearchIn = new[] {Configuration.Fields.Name, Configuration.Fields.Description};
            var queryanalizer = new MultiFieldQueryParser(Version.LUCENE_CURRENT,
                                                          fieldsToSearchIn,
                                                          new BrazilianAnalyzer());

            var numberOfResults = 10;
            var top10Results = searcher.Search(queryanalizer.Parse(query), numberOfResults);
            var docs = new List<DocumentViewModel>();
            foreach (var scoreDoc in top10Results.scoreDocs)
            {
                var document = searcher.Doc(scoreDoc.doc);
                var name = document.GetField(Configuration.Fields.Name).StringValue();
                var description = document.GetField(Configuration.Fields.Description).StringValue();
                var link = document.GetField(Configuration.Fields.Link).StringValue();
                docs.Add(new DocumentViewModel(name, description, link));
            }
            return View(new SearchViewModel(docs));
        }
All Usage Examples Of Lucene.Net.Search.IndexSearcher::Search