Ejemplo n.º 1
0
        public MoreLikeThis(IndexReader ir, TFIDFSimilarity sim)
        {
            this.ir         = ir;
            this.Similarity = sim;

            // LUCENENET specific: Set Defaults
            StopWords          = DEFAULT_STOP_WORDS;
            MinTermFreq        = DEFAULT_MIN_TERM_FREQ;
            MinDocFreq         = DEFAULT_MIN_DOC_FREQ;
            MaxDocFreq         = DEFAULT_MAX_DOC_FREQ;
            ApplyBoost         = DEFAULT_BOOST;
            FieldNames         = DEFAULT_FIELD_NAMES;
            MaxNumTokensParsed = DEFAULT_MAX_NUM_TOKENS_PARSED;
            MinWordLen         = DEFAULT_MIN_WORD_LENGTH;
            MaxWordLen         = DEFAULT_MAX_WORD_LENGTH;
            MaxQueryTerms      = DEFAULT_MAX_QUERY_TERMS;
        }
Ejemplo n.º 2
0
        public override FunctionValues GetValues(IDictionary context, AtomicReaderContext readerContext)
        {
            var             searcher   = (IndexSearcher)context["searcher"];
            TFIDFSimilarity similarity = IDFValueSource.AsTFIDF(searcher.Similarity, m_field);

            if (similarity == null)
            {
                throw new NotSupportedException("requires a TFIDFSimilarity (such as DefaultSimilarity)");
            }

            NumericDocValues norms = readerContext.AtomicReader.GetNormValues(m_field);

            if (norms == null)
            {
                return(new ConstDoubleDocValues(0.0, this));
            }

            return(new SingleDocValuesAnonymousInnerClassHelper(this, this, similarity, norms));
        }
Ejemplo n.º 3
0
        public void TestHyperbolicSweetSpot()
        {
            SweetSpotSimilarity ss = new HyperbolicSweetSpotSimilarityHelper();

            ss.SetHyperbolicTfFactors(3.3f, 7.7f, Math.E, 5.0f);

            TFIDFSimilarity s = ss;

            for (int i = 1; i <= 1000; i++)
            {
                assertTrue("MIN tf: i=" + i + " : s=" + s.Tf(i),
                           3.3f <= s.Tf(i));
                assertTrue("MAX tf: i=" + i + " : s=" + s.Tf(i),
                           s.Tf(i) <= 7.7f);
            }
            assertEquals("MID tf", 3.3f + (7.7f - 3.3f) / 2.0f, s.Tf(5), 0.00001f);

            // stupidity
            assertEquals("tf zero", 0.0f, s.Tf(0), 0.0f);
        }
Ejemplo n.º 4
0
 public SingleDocValuesAnonymousInnerClassHelper(NormValueSource outerInstance, NormValueSource @this, TFIDFSimilarity similarity, NumericDocValues norms)
     : base(@this)
 {
     this.outerInstance = outerInstance;
     this.similarity    = similarity;
     this.norms         = norms;
 }
Ejemplo n.º 5
0
 public SingleDocValuesAnonymousInnerClassHelper(TFValueSource outerInstance, TFValueSource @this, Terms terms, TFIDFSimilarity similarity)
     : base(@this)
 {
     this.outerInstance = outerInstance;
     this.terms         = terms;
     this.similarity    = similarity;
     lastDocRequested   = -1;
     Reset();
 }
Ejemplo n.º 6
0
 public SingleDocValuesAnonymousClass(NormValueSource @this, TFIDFSimilarity similarity, NumericDocValues norms)
     : base(@this)
 {
     this.similarity = similarity;
     this.norms      = norms;
 }