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