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 2014/11/24 11:08:45 UTC

svn commit: r1641349 - in /jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr: configuration/OakSolrNodeStateConfiguration.java query/SolrQueryIndex.java

Author: tommaso
Date: Mon Nov 24 10:08:45 2014
New Revision: 1641349

URL: http://svn.apache.org/r1641349
Log:
OAK-2286 - reverting as accidentally committed unfinished changes in Solr query index 

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

Modified: jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/OakSolrNodeStateConfiguration.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/OakSolrNodeStateConfiguration.java?rev=1641349&r1=1641348&r2=1641349&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/OakSolrNodeStateConfiguration.java (original)
+++ jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/OakSolrNodeStateConfiguration.java Mon Nov 24 10:08:45 2014
@@ -16,9 +16,9 @@
  */
 package org.apache.jackrabbit.oak.plugins.index.solr.configuration;
 
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
-import java.util.LinkedList;
 
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Type;
@@ -47,17 +47,9 @@ public abstract class OakSolrNodeStateCo
 
     @Override
     public String getFieldNameFor(Type<?> propertyType) {
-        Iterable<String> typeMappings = getStringValuesFor(Properties.TYPE_MAPPINGS);
-        if (typeMappings != null) {
-            for (String typeMapping : typeMappings) {
-                String[] mapping = typeMapping.split("=");
-                if (mapping.length == 2 && mapping[0] != null && mapping[1] != null) {
-                    Type<?> type = Type.fromString(mapping[0]);
-                    if (type != null && type.tag() == propertyType.tag()) {
-                        return mapping[1];
-                    }
-                }
-            }
+        if (Type.BINARIES.equals(propertyType) || Type.BINARY.equals(propertyType)) {
+            // TODO : use Tika / SolrCell here
+            return propertyType.toString() + "_bin";
         }
         return null;
     }
@@ -103,17 +95,6 @@ public abstract class OakSolrNodeStateCo
 
     @Override
     public String getFieldForPropertyRestriction(Filter.PropertyRestriction propertyRestriction) {
-        Iterable<String> propertyMappings = getStringValuesFor(Properties.PROPERTY_MAPPINGS);
-        if (propertyMappings != null) {
-            for (String propertyMapping : propertyMappings) {
-                String[] mapping = propertyMapping.split("=");
-                if (mapping.length == 2 && mapping[0] != null && mapping[1] != null) {
-                    if (propertyRestriction.propertyName.equals(mapping[0])) {
-                        return mapping[1];
-                    }
-                }
-            }
-        }
         return null;
     }
 
@@ -145,12 +126,9 @@ public abstract class OakSolrNodeStateCo
     @Override
     public Collection<String> getIgnoredProperties() {
         Collection<String> ignoredProperties;
-        Iterable<String> ignoredPropertiesValues = getStringValuesFor(Properties.IGNORED_PROPERTIES);
-        if (ignoredPropertiesValues != null) {
-            ignoredProperties = new LinkedList<String>();
-            for (String ignoredProperty : ignoredPropertiesValues) {
-                ignoredProperties.add(ignoredProperty);
-            }
+        String ignoredPropertiesString = getStringValueFor(Properties.IGNORED_PROPERTIES, SolrServerConfigurationDefaults.IGNORED_PROPERTIES);
+        if (ignoredPropertiesString != null) {
+            ignoredProperties = Arrays.asList(ignoredPropertiesString.split(","));
         } else {
             ignoredProperties = Collections.emptyList();
         }
@@ -193,18 +171,6 @@ public abstract class OakSolrNodeStateCo
         return value;
     }
 
-    private Iterable<String> getStringValuesFor(String propertyName) {
-        Iterable<String> values = null;
-        NodeState configurationNodeState = getConfigurationNodeState();
-        if (configurationNodeState.exists()) {
-            PropertyState property = configurationNodeState.getProperty(propertyName);
-            if (property != null && property.isArray()) {
-                values = property.getValue(Type.STRINGS);
-            }
-        }
-        return values;
-    }
-
     @Override
     public SolrServerConfiguration<EmbeddedSolrServerProvider> getSolrServerConfiguration() {
         String solrHomePath = getStringValueFor(Properties.SOLRHOME_PATH, SolrServerConfigurationDefaults.SOLR_HOME_PATH);
@@ -238,7 +204,5 @@ public abstract class OakSolrNodeStateCo
         public static final String PRIMARY_TYPES = "primaryTypes";
         public static final String PATH_RESTRICTIONS = "pathRestrictions";
         public static final String IGNORED_PROPERTIES = "ignoredProperties";
-        public static final String TYPE_MAPPINGS = "typeMappings";
-        public static final String PROPERTY_MAPPINGS = "propertyMappings";
     }
 }

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=1641349&r1=1641348&r2=1641349&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 Mon Nov 24 10:08:45 2014
@@ -22,7 +22,6 @@ import java.util.Collections;
 import java.util.Deque;
 import java.util.HashSet;
 import java.util.Iterator;
-import java.util.List;
 import java.util.Set;
 import javax.annotation.CheckForNull;
 
@@ -49,8 +48,6 @@ import org.apache.jackrabbit.oak.spi.que
 import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.apache.solr.client.solrj.SolrQuery;
 import org.apache.solr.client.solrj.SolrServer;
-import org.apache.solr.client.solrj.response.FacetField;
-import org.apache.solr.client.solrj.response.QueryResponse;
 import org.apache.solr.common.SolrDocument;
 import org.apache.solr.common.SolrDocumentList;
 import org.slf4j.Logger;
@@ -162,20 +159,6 @@ public class SolrQueryIndex implements F
             }
         }
 
-        // facet enable
-        String facetFunctionStartToken = "facet(";
-        String queryStatement = filter.getQueryStatement();
-        if (queryStatement != null) {
-            int facetTokenIndex = queryStatement.indexOf(facetFunctionStartToken);
-            if (facetTokenIndex > -1) {
-                String facetFieldsString = queryStatement.substring(facetTokenIndex +
-                        facetFunctionStartToken.length(), queryStatement.indexOf(")", facetTokenIndex));
-                for (String facetField : facetFieldsString.split(",")) {
-                    solrQuery.addFacetField(facetField);
-                }
-            }
-        }
-
         Collection<Filter.PropertyRestriction> propertyRestrictions = filter.getPropertyRestrictions();
         if (propertyRestrictions != null && !propertyRestrictions.isEmpty()) {
             for (Filter.PropertyRestriction pr : propertyRestrictions) {
@@ -310,7 +293,7 @@ public class SolrQueryIndex implements F
 
         if (log.isDebugEnabled()) {
             log.debug("JCR query {} has been converted to Solr query {}",
-                    queryStatement, solrQuery.toString());
+                    filter.getQueryStatement(), solrQuery.toString());
         }
 
         return solrQuery;
@@ -465,30 +448,22 @@ public class SolrQueryIndex implements F
     public Cursor query(final Filter filter, NodeState root) {
         Cursor cursor;
         try {
-            final Set<String> relPaths = filter.getFullTextConstraint() != null ? getRelativePaths(filter.getFullTextConstraint()) :
-                    Collections.<String>emptySet();
+            final Set<String> relPaths = filter.getFullTextConstraint() != null ? getRelativePaths(filter.getFullTextConstraint()) : Collections.<String>emptySet();
             final String parent = relPaths.size() == 0 ? "" : relPaths.iterator().next();
 
             final int parentDepth = getDepth(parent);
 
-            cursor = new SolrRowCursor(new AbstractIterator<SolrResultRow>() {
 
+            cursor = new SolrRowCursor(new AbstractIterator<SolrResultRow>() {
                 private final Set<String> seenPaths = Sets.newHashSet();
                 private final Deque<SolrResultRow> queue = Queues.newArrayDeque();
-
                 private SolrDocument lastDoc;
-                private int lastFacet = 0;
-
                 public int offset = 0;
-                public List<FacetField> facetFields;
 
                 @Override
                 protected SolrResultRow computeNext() {
-                    if (!queue.isEmpty() || loadDocs()) {
+                    while (!queue.isEmpty() || loadDocs()) {
                         return queue.remove();
-                    } else if (facetFields != null && lastFacet < facetFields.size()) {
-                        lastFacet++;
-                        return new SolrResultRow(facetFields.get(lastFacet - 1));
                     }
                     return endOfData();
                 }
@@ -538,11 +513,7 @@ public class SolrQueryIndex implements F
                         if (log.isDebugEnabled()) {
                             log.debug("sending query {}", query);
                         }
-
-                        QueryResponse queryResponse = solrServer.query(query);
-
-                        facetFields = queryResponse.getFacetFields();
-                        SolrDocumentList docs = queryResponse.getResults();
+                        SolrDocumentList docs = solrServer.query(query).getResults();
 
                         if (log.isDebugEnabled()) {
                             log.debug("getting docs {}", docs);
@@ -575,10 +546,9 @@ public class SolrQueryIndex implements F
     }
 
     static class SolrResultRow {
-        String path;
-        double score;
+        final String path;
+        final double score;
         SolrDocument doc;
-        FacetField facetField;
 
         SolrResultRow(String path, double score) {
             this.path = path;
@@ -591,11 +561,6 @@ public class SolrQueryIndex implements F
             this.doc = doc;
         }
 
-        SolrResultRow(FacetField facetField) {
-            this.facetField = facetField;
-            this.path = "/" + facetField.toString();
-        }
-
         @Override
         public String toString() {
             return String.format("%s (%1.2f)", path, score);
@@ -613,7 +578,6 @@ public class SolrQueryIndex implements F
         SolrResultRow currentRow;
 
         SolrRowCursor(final Iterator<SolrResultRow> it, QueryEngineSettings settings) {
-
             Iterator<String> pathIterator = new Iterator<String>() {
 
                 @Override
@@ -634,9 +598,9 @@ public class SolrQueryIndex implements F
 
             };
             pathCursor = new Cursors.PathCursor(pathIterator, true, settings);
-
         }
 
+
         @Override
         public boolean hasNext() {
             return pathCursor.hasNext();