Lucene查询的函数调用关系

IndexSearcher.search
	IndexSearcher.createNormalizedWeight(Query)
		PhraseQuery.createWeight
			new PhraseWeight
				IndexSearcher.getSimilarity()
				DefaultSimilarity.idfExplain
		Weight.normalize
	IndexSearcher.search(Weight)
		TopScoreDocCollector.setNextReader
		PhraseWeight.scorer
			ReadOnlySegmentReader.termPositions
				SegmentTermPositions.seek(Term)
					TermInfosReader.get(Term)
					SegmentTermPositions.seek(TermInfo ti, Term term)
						FieldInfos.fieldInfo(String fieldName)
			new PostingsAndFreq
			ArrayUtil.mergeSort(PostingsAndFreq)
			new ExactPhraseScorer
		ExactPhraseScorer.score(Collector)
			ExactPhraseScorer.nextDoc
			TopScoreDocCollector.collect(doc)
				ExactPhraseScorer.score()
	TopScoreDocCollector.topDocs
	

你可能感兴趣的:(String,Lucene,query)