public Rewrite ( IndexReader reader ) : |
||
reader | IndexReader | |
return |
public string GetHighlight(string value, IndexSearcher searcher, string highlightField, Query luceneQuery) { var scorer = new QueryScorer(luceneQuery.Rewrite(searcher.GetIndexReader())); var highlighter = new Highlighter(HighlightFormatter, scorer); var tokenStream = HighlightAnalyzer.TokenStream(highlightField, new StringReader(value)); return highlighter.GetBestFragments(tokenStream, value, MaxNumHighlights, Separator); }
public override Query Rewrite(IndexReader reader) { Query rewritten = @in.Rewrite(reader); if (rewritten == @in) { return(this); } else { return(Wrap(new Random(Random.Next()), rewritten)); } }
public override Query Rewrite(IndexReader reader) { Query rewritten = @in.Rewrite(reader); if (rewritten == @in) { return(this); } else { return(Wrap(new J2N.Randomizer(random.NextInt64()), rewritten)); } }
/// <summary>Rewrites the wrapped query. </summary> public override Query Rewrite(IndexReader reader) { Query rewritten = query.Rewrite(reader); if (rewritten != query) { FilteredQuery clone = (FilteredQuery)this.Clone(); clone.query = rewritten; return(clone); } else { return(this); } }
/// <summary>Optimize our representation and our subqueries representations</summary> /// <param name="reader">the IndexReader we query /// </param> /// <returns> an optimized copy of us (which may not be a copy if there is nothing to optimize) /// </returns> public override Query Rewrite(IndexReader reader) { int numDisjunctions = disjuncts.Count; if (numDisjunctions == 1) { Query singleton = (Query)disjuncts[0]; Query result = singleton.Rewrite(reader); if (GetBoost() != 1.0f) { if (result == singleton) { result = (Query)result.Clone(); } result.SetBoost(GetBoost() * result.GetBoost()); } return(result); } DisjunctionMaxQuery clone = null; for (int i = 0; i < numDisjunctions; i++) { Query clause = (Query)disjuncts[i]; Query rewrite = clause.Rewrite(reader); if (rewrite != clause) { if (clone == null) { clone = (DisjunctionMaxQuery)this.Clone(); } clone.disjuncts[i] = rewrite; } } if (clone != null) { return(clone); } else { return(this); } }