Rewrite() публичный абстрактный Метод

public abstract Rewrite ( Query query ) : Query
query Query
Результат Query
Пример #1
0
        /// <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;
		}
Пример #3
0
        /// <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);
        }
Пример #4
0
        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);
            }
        }
Пример #5
0
		/// <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;
		}
Пример #6
0
 /// <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;
 }
Пример #7
0
 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);
     }
 }