public override string ToString() { StringBuilder sb = new StringBuilder(); sb.Append("matchVersion=").Append(matchVersion).Append("\n"); sb.Append("analyzer=").Append(analyzer == null ? "null" : analyzer.GetType().Name).Append("\n"); sb.Append("ramBufferSizeMB=").Append(RAMBufferSizeMB).Append("\n"); sb.Append("maxBufferedDocs=").Append(MaxBufferedDocs).Append("\n"); sb.Append("maxBufferedDeleteTerms=").Append(MaxBufferedDeleteTerms).Append("\n"); sb.Append("mergedSegmentWarmer=").Append(MergedSegmentWarmer).Append("\n"); sb.Append("readerTermsIndexDivisor=").Append(ReaderTermsIndexDivisor).Append("\n"); sb.Append("termIndexInterval=").Append(TermIndexInterval).Append("\n"); // TODO: this should be private to the codec, not settable here sb.Append("delPolicy=").Append(IndexDeletionPolicy.GetType().Name).Append("\n"); IndexCommit commit = IndexCommit; sb.Append("commit=").Append(commit == null ? "null" : commit.ToString()).Append("\n"); sb.Append("openMode=").Append(OpenMode).Append("\n"); sb.Append("similarity=").Append(Similarity.GetType().Name).Append("\n"); sb.Append("mergeScheduler=").Append(MergeScheduler).Append("\n"); sb.Append("default WRITE_LOCK_TIMEOUT=").Append(IndexWriterConfig.WRITE_LOCK_TIMEOUT).Append("\n"); sb.Append("writeLockTimeout=").Append(WriteLockTimeout).Append("\n"); sb.Append("codec=").Append(Codec).Append("\n"); sb.Append("infoStream=").Append(InfoStream.GetType().Name).Append("\n"); sb.Append("mergePolicy=").Append(MergePolicy).Append("\n"); sb.Append("indexerThreadPool=").Append(IndexerThreadPool).Append("\n"); sb.Append("readerPooling=").Append(UseReaderPooling).Append("\n"); sb.Append("perThreadHardLimitMB=").Append(RAMPerThreadHardLimitMB).Append("\n"); sb.Append("useCompoundFile=").Append(UseCompoundFile).Append("\n"); sb.Append("checkIntegrityAtMerge=").Append(CheckIntegrityAtMerge).Append("\n"); return(sb.ToString()); }
public override Explanation Explain(AtomicReaderContext context, int doc) { SpanScorer scorer = (SpanScorer)GetScorer(context, context.AtomicReader.LiveDocs); if (scorer != null) { int newDoc = scorer.Advance(doc); if (newDoc == doc) { float freq = scorer.SloppyFreq; Similarity.SimScorer docScorer = m_similarity.GetSimScorer(m_stats, context); ComplexExplanation result = new ComplexExplanation(); result.Description = "weight(" + Query + " in " + doc + ") [" + m_similarity.GetType().Name + "], result of:"; Explanation scoreExplanation = docScorer.Explain(doc, new Explanation(freq, "phraseFreq=" + freq)); result.AddDetail(scoreExplanation); result.Value = scoreExplanation.Value; result.Match = true; return(result); } } return(new ComplexExplanation(false, 0.0f, "no matching term")); }
public override Explanation Explain(AtomicReaderContext context, int doc) { PayloadTermSpanScorer scorer = (PayloadTermSpanScorer)Scorer(context, (context.AtomicReader).LiveDocs); if (scorer != null) { int newDoc = scorer.Advance(doc); if (newDoc == doc) { float freq = scorer.SloppyFreq(); Similarity.SimScorer docScorer = Similarity.DoSimScorer(Stats, context); Explanation expl = new Explanation(); expl.Description = "weight(" + Query + " in " + doc + ") [" + Similarity.GetType().Name + "], result of:"; Explanation scoreExplanation = docScorer.Explain(doc, new Explanation(freq, "phraseFreq=" + freq)); expl.AddDetail(scoreExplanation); expl.Value = scoreExplanation.Value; // now the payloads part // QUESTION: Is there a way to avoid this skipTo call? We need to know // whether to load the payload or not // GSI: I suppose we could toString the payload, but I don't think that // would be a good idea string field = ((SpanQuery)Query).Field; Explanation payloadExpl = OuterInstance.Function.Explain(doc, field, scorer.PayloadsSeen, scorer.PayloadScore_Renamed); payloadExpl.Value = scorer.PayloadScore; // combined ComplexExplanation result = new ComplexExplanation(); if (OuterInstance.IncludeSpanScore) { result.AddDetail(expl); result.AddDetail(payloadExpl); result.Value = expl.Value * payloadExpl.Value; result.Description = "btq, product of:"; } else { result.AddDetail(payloadExpl); result.Value = payloadExpl.Value; result.Description = "btq(includeSpanScore=false), result of:"; } result.Match = true; // LUCENE-1303 return(result); } } return(new ComplexExplanation(false, 0.0f, "no matching term")); }
public override Explanation Explain(AtomicReaderContext context, int doc) { PayloadNearSpanScorer scorer = (PayloadNearSpanScorer)Scorer(context, (context.AtomicReader).LiveDocs); if (scorer != null) { int newDoc = scorer.Advance(doc); if (newDoc == doc) { float freq = scorer.Freq(); Similarity.SimScorer docScorer = Similarity.DoSimScorer(Stats, context); Explanation expl = new Explanation(); expl.Description = "weight(" + Query + " in " + doc + ") [" + Similarity.GetType().Name + "], result of:"; Explanation scoreExplanation = docScorer.Explain(doc, new Explanation(freq, "phraseFreq=" + freq)); expl.AddDetail(scoreExplanation); expl.Value = scoreExplanation.Value; string field = ((SpanQuery)Query).Field; // now the payloads part Explanation payloadExpl = OuterInstance.Function.Explain(doc, field, scorer.PayloadsSeen, scorer.PayloadScore); // combined ComplexExplanation result = new ComplexExplanation(); result.AddDetail(expl); result.AddDetail(payloadExpl); result.Value = expl.Value * payloadExpl.Value; result.Description = "PayloadNearQuery, product of:"; return(result); } } return(new ComplexExplanation(false, 0.0f, "no matching term")); }