SimilarityDelegator.cs
上传用户:zhangkuixh
上传日期:2013-09-30
资源大小:5473k
文件大小:2k
源码类别:

搜索引擎

开发平台:

C#

  1. /*
  2.  * Copyright 2005 The Apache Software Foundation
  3.  * 
  4.  * Licensed under the Apache License, Version 2.0 (the "License");
  5.  * you may not use this file except in compliance with the License.
  6.  * You may obtain a copy of the License at
  7.  * 
  8.  * http://www.apache.org/licenses/LICENSE-2.0
  9.  * 
  10.  * Unless required by applicable law or agreed to in writing, software
  11.  * distributed under the License is distributed on an "AS IS" BASIS,
  12.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13.  * See the License for the specific language governing permissions and
  14.  * limitations under the License.
  15.  */
  16. using System;
  17. namespace Lucene.Net.Search
  18. {
  19. /// <summary>Expert: Delegating scoring implementation.  Useful in {@link
  20. /// Query#GetSimilarity(Searcher)} implementations, to override only certain
  21. /// methods of a Searcher's Similiarty implementation.. 
  22. /// </summary>
  23. [Serializable]
  24. public class SimilarityDelegator : Similarity
  25. {
  26. private Similarity delegee;
  27. /// <summary>Construct a {@link Similarity} that delegates all methods to another.
  28. /// 
  29. /// </summary>
  30. /// <param name="delegee">the Similarity implementation to delegate to
  31. /// </param>
  32. public SimilarityDelegator(Similarity delegee)
  33. {
  34. this.delegee = delegee;
  35. }
  36. public override float LengthNorm(System.String fieldName, int numTerms)
  37. {
  38. return delegee.LengthNorm(fieldName, numTerms);
  39. }
  40. public override float QueryNorm(float sumOfSquaredWeights)
  41. {
  42. return delegee.QueryNorm(sumOfSquaredWeights);
  43. }
  44. public override float Tf(float freq)
  45. {
  46. return delegee.Tf(freq);
  47. }
  48. public override float SloppyFreq(int distance)
  49. {
  50. return delegee.SloppyFreq(distance);
  51. }
  52. public override float Ldf(int docFreq, int numDocs)
  53. {
  54. return delegee.Ldf(docFreq, numDocs);
  55. }
  56. public override float Coord(int overlap, int maxOverlap)
  57. {
  58. return delegee.Coord(overlap, maxOverlap);
  59. }
  60. }
  61. }