public abstract Rewrite ( |
||
query | ||
return |
/// <summary>Expert: Constructs and initializes a Weight for a top-level query. </summary> public virtual Weight Weight(Searcher searcher) { Query query = searcher.Rewrite(this); Weight weight = query.CreateWeight(searcher); float sum = weight.SumOfSquaredWeights(); float norm = GetSimilarity(searcher).QueryNorm(sum); weight.Normalize(norm); return(weight); }
public string GetHighlight(string value, string highlightField, Searcher searcher, string luceneRawQuery) { var query = GetQueryParser(highlightField).Parse(luceneRawQuery); var scorer = new QueryScorer(searcher.Rewrite(query)); var highlighter = new Highlighter(HighlightFormatter, scorer); var tokenStream = HighlightAnalyzer.TokenStream(highlightField, new StringReader(value)); string bestFragments = highlighter.GetBestFragments(tokenStream, value, MaxNumHighlights, Separator); return bestFragments; }
/// <summary> Expert: Constructs and initializes a Weight for a top-level query.</summary> public virtual Weight Weight(Searcher searcher, IState state) { Query query = searcher.Rewrite(this, state); Weight weight = query.CreateWeight(searcher, state); float sum = weight.GetSumOfSquaredWeights(); float norm = GetSimilarity(searcher).QueryNorm(sum); if (float.IsInfinity(norm) || float.IsNaN(norm)) { norm = 1.0f; } weight.Normalize(norm); return(weight); }
private static void Check(Query q1, Searcher s, bool wrap) { try { Check(q1); if (s != null) { if (s is IndexSearcher) { IndexSearcher is_Renamed = (IndexSearcher)s; CheckFirstSkipTo(q1, is_Renamed); CheckSkipTo(q1, is_Renamed); if (wrap) { Check(q1, WrapUnderlyingReader(is_Renamed, -1), false); Check(q1, WrapUnderlyingReader(is_Renamed, 0), false); Check(q1, WrapUnderlyingReader(is_Renamed, +1), false); } } if (wrap) { Check(q1, WrapSearcher(s, -1), false); Check(q1, WrapSearcher(s, 0), false); Check(q1, WrapSearcher(s, +1), false); } CheckExplanations(q1, s); CheckSerialization(q1, s); Query q2 = (Query)q1.Clone(); CheckEqual(s.Rewrite(q1, null), s.Rewrite(q2, null)); } } catch (System.IO.IOException e) { throw new System.SystemException("", e); } }
/// <summary>Expert: Constructs and initializes a Weight for a top-level query. </summary> public virtual Weight Weight(Searcher searcher) { Query query = searcher.Rewrite(this); Weight weight = query.CreateWeight(searcher); float sum = weight.SumOfSquaredWeights(); float norm = GetSimilarity(searcher).QueryNorm(sum); weight.Normalize(norm); return weight; }
/// <summary> Expert: Constructs and initializes a Weight for a top-level query.</summary> public virtual Weight Weight(Searcher searcher) { Query query = searcher.Rewrite(this); Weight weight = query.CreateWeight(searcher); float sum = weight.GetSumOfSquaredWeights(); float norm = GetSimilarity(searcher).QueryNorm(sum); if (float.IsInfinity(norm) || float.IsNaN(norm)) norm = 1.0f; weight.Normalize(norm); return weight; }
private static void Check(Query q1, Searcher s, bool wrap) { try { Check(q1); if (s != null) { if (s is IndexSearcher) { IndexSearcher is_Renamed = (IndexSearcher) s; CheckFirstSkipTo(q1, is_Renamed); CheckSkipTo(q1, is_Renamed); if (wrap) { Check(q1, WrapUnderlyingReader(is_Renamed, - 1), false); Check(q1, WrapUnderlyingReader(is_Renamed, 0), false); Check(q1, WrapUnderlyingReader(is_Renamed, + 1), false); } } if (wrap) { Check(q1, WrapSearcher(s, - 1), false); Check(q1, WrapSearcher(s, 0), false); Check(q1, WrapSearcher(s, + 1), false); } CheckExplanations(q1, s); CheckSerialization(q1, s); Query q2 = (Query) q1.Clone(); CheckEqual(s.Rewrite(q1), s.Rewrite(q2)); } } catch (System.IO.IOException e) { throw new System.SystemException("", e); } }