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);
}
}