You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by to...@apache.org on 2015/03/23 15:07:56 UTC
svn commit: r1668649 -
/jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/LMSEstimatorTest.java
Author: tommaso
Date: Mon Mar 23 14:07:56 2015
New Revision: 1668649
URL: http://svn.apache.org/r1668649
Log:
OAK-2666 - lms test updated
Modified:
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/LMSEstimatorTest.java
Modified: jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/LMSEstimatorTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/LMSEstimatorTest.java?rev=1668649&r1=1668648&r2=1668649&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/LMSEstimatorTest.java (original)
+++ jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/LMSEstimatorTest.java Mon Mar 23 14:07:56 2015
@@ -41,21 +41,30 @@ public class LMSEstimatorTest {
}
@Test
- public void testMultipleUpdatesImproveAccuracy() throws Exception {
+ public void testMultipleUpdates() throws Exception {
LMSEstimator lmsEstimator = new LMSEstimator();
Filter filter = mock(Filter.class);
FullTextExpression fte = new FullTextTerm("foo", "bar", false, false, "");
when(filter.getFullTextConstraint()).thenReturn(fte);
SolrDocumentList docs = new SolrDocumentList();
lmsEstimator.update(filter, docs);
+
+ long actualCount = 10;
+ docs.setNumFound(actualCount);
+
long estimate = lmsEstimator.estimate(filter);
- docs.setNumFound(10);
+ long diff = actualCount - estimate;
+
+ // update causes weights adjustment
lmsEstimator.update(filter, docs);
long estimate2 = lmsEstimator.estimate(filter);
- assertTrue(estimate2 > estimate);
+ long diff2 = actualCount - estimate2;
+ assertTrue(diff2 < diff); // new estimate is more accurate than previous one
+
+ // update doesn't cause weight adjustments therefore estimates stays unchanged
lmsEstimator.update(filter, docs);
long estimate3 = lmsEstimator.estimate(filter);
- assertTrue(estimate3 > estimate2);
+ assertEquals(estimate3, estimate2);
}
@Test