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/06/24 13:30:02 UTC

svn commit: r1687240 - in /jackrabbit/oak/trunk/oak-solr-core/src: main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndexTest.java

Author: tommaso
Date: Wed Jun 24 11:30:02 2015
New Revision: 1687240

URL: http://svn.apache.org/r1687240
Log:
OAK-2980 - fixed log statement, added test

Modified:
    jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java
    jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndexTest.java

Modified: jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java?rev=1687240&r1=1687239&r2=1687240&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java (original)
+++ jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java Wed Jun 24 11:30:02 2015
@@ -557,7 +557,7 @@ public class SolrQueryIndex implements F
                     try {
                         estimate = SolrQueryIndex.this.solrServer.query(countQuery).getResults().getNumFound();
                     } catch (SolrServerException e) {
-                        log.warn("could not perform count countQuery {}", countQuery);
+                        log.warn("could not perform count query {}", countQuery);
                     }
                     break;
                 case APPROXIMATION:

Modified: jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndexTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndexTest.java?rev=1687240&r1=1687239&r2=1687240&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndexTest.java (original)
+++ jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndexTest.java Wed Jun 24 11:30:02 2015
@@ -22,6 +22,7 @@ import java.util.Collections;
 
 import javax.annotation.Nonnull;
 
+import org.apache.jackrabbit.oak.api.Result;
 import org.apache.jackrabbit.oak.plugins.index.solr.TestUtils;
 import org.apache.jackrabbit.oak.plugins.index.solr.configuration.DefaultSolrConfiguration;
 import org.apache.jackrabbit.oak.plugins.index.solr.configuration.OakSolrConfiguration;
@@ -402,6 +403,30 @@ public class SolrQueryIndexTest {
         FilterImpl filter = new FilterImpl(selector, sqlQuery, new QueryEngineSettings());
         Cursor cursor = solrQueryIndex.query(filter, root);
         assertNotNull(cursor);
+    }
 
+    @Test
+    public void testSize() throws Exception {
+        NodeState root = mock(NodeState.class);
+        when(root.getNames(any(String.class))).thenReturn(Collections.<String>emptySet());
+        SelectorImpl selector = new SelectorImpl(root, "a");
+        String sqlQuery = "select [jcr:path], [jcr:score] from [nt:base] as a where" +
+                " contains([jcr:content/*], 'founded')";
+        SolrServer solrServer = TestUtils.createSolrServer();
+        OakSolrConfiguration configuration = new DefaultSolrConfiguration() {
+            @Override
+            public boolean useForPropertyRestrictions() {
+                return true;
+            }
+        };
+        SolrQueryIndex solrQueryIndex = new SolrQueryIndex("solr", solrServer, configuration);
+        FilterImpl filter = new FilterImpl(selector, sqlQuery, new QueryEngineSettings());
+        Cursor cursor = solrQueryIndex.query(filter, root);
+        assertNotNull(cursor);
+        long sizeExact = cursor.getSize(Result.SizePrecision.EXACT, 100000);
+        long sizeApprox = cursor.getSize(Result.SizePrecision.APPROXIMATION, 100000);
+        long sizeFastApprox = cursor.getSize(Result.SizePrecision.FAST_APPROXIMATION, 100000);
+        assertTrue(Math.abs(sizeExact - sizeApprox) < 10);
+        assertTrue(Math.abs(sizeExact - sizeFastApprox) > 10000);
     }
 }