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 2018/09/26 09:05:14 UTC
svn commit: r1842008 - in
/jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search:
./ spi/editor/ spi/query/
Author: tommaso
Date: Wed Sep 26 09:05:14 2018
New Revision: 1842008
URL: http://svn.apache.org/viewvc?rev=1842008&view=rev
Log:
OAK-7411 - some javadoc fixes
Modified:
jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/PropertyDefinition.java
jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/ReindexOperations.java
jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/TextExtractionStatsMBean.java
jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/editor/DocumentMaker.java
jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/editor/FulltextDocumentMaker.java
jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/editor/FulltextIndexEditor.java
jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/editor/FulltextIndexWriter.java
jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndexPlanner.java
jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndexTracker.java
Modified: jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/PropertyDefinition.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/PropertyDefinition.java?rev=1842008&r1=1842007&r2=1842008&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/PropertyDefinition.java (original)
+++ jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/PropertyDefinition.java Wed Sep 26 09:05:14 2018
@@ -62,6 +62,7 @@ public class PropertyDefinition {
public final String name;
private final int propertyType;
+
/**
* The boost value for a property.
*/
Modified: jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/ReindexOperations.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/ReindexOperations.java?rev=1842008&r1=1842007&r2=1842008&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/ReindexOperations.java (original)
+++ jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/ReindexOperations.java Wed Sep 26 09:05:14 2018
@@ -26,6 +26,9 @@ import org.apache.jackrabbit.oak.spi.sta
import static org.apache.jackrabbit.oak.plugins.index.search.IndexDefinition.INDEX_DEFINITION_NODE;
import static org.apache.jackrabbit.oak.plugins.index.search.spi.editor.FulltextIndexEditorContext.configureUniqueId;
+/**
+ * Reindexing operations
+ */
public class ReindexOperations {
private final NodeState root;
private final NodeBuilder definitionBuilder;
@@ -40,6 +43,11 @@ public class ReindexOperations {
this.indexDefBuilder = indexDefBuilder;
}
+ /**
+ * Update index definition based on base or latest builder state
+ * @param useStateFromBuilder whether to use the latest builder state
+ * @return the up to date index definition
+ */
public IndexDefinition apply(boolean useStateFromBuilder) {
IndexFormatVersion version = IndexDefinition.determineVersionForFreshIndex(definitionBuilder);
definitionBuilder.setProperty(IndexDefinition.INDEX_VERSION, version.getVersion());
Modified: jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/TextExtractionStatsMBean.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/TextExtractionStatsMBean.java?rev=1842008&r1=1842007&r2=1842008&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/TextExtractionStatsMBean.java (original)
+++ jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/TextExtractionStatsMBean.java Wed Sep 26 09:05:14 2018
@@ -26,21 +26,57 @@ import org.osgi.annotation.versioning.Pr
*/
@ProviderType
public interface TextExtractionStatsMBean {
+
+ /**
+ * Type of this MBean
+ */
String TYPE = "TextExtractionStats";
+ /**
+ * Check whether pre extracted text provider is configured
+ * @return {@code true} if configured, {@code false} otherwise
+ */
boolean isPreExtractedTextProviderConfigured();
+ /**
+ * Check whether pre extracted cache should always be used
+ * @return {@code true} if PEC should always be used, {@code false} otherwise
+ */
boolean isAlwaysUsePreExtractedCache();
+ /**
+ * Number of text extraction operations performed
+ * @return the text extraction count
+ */
int getTextExtractionCount();
+ /**
+ * Total time taken by text extraction
+ * @return total time taken
+ */
long getTotalTime();
+ /**
+ * Pre fetch count
+ * @return no. of prefetch operations
+ */
int getPreFetchedCount();
+ /**
+ * Size of extracted size
+ * @return extracted text size
+ */
String getExtractedTextSize();
+ /**
+ * Bytes read by text extraction
+ * @return bytes read
+ */
String getBytesRead();
+ /**
+ * Count of extractions gone timeout
+ * @return timeout count
+ */
int getTimeoutCount();
}
Modified: jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/editor/DocumentMaker.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/editor/DocumentMaker.java?rev=1842008&r1=1842007&r2=1842008&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/editor/DocumentMaker.java (original)
+++ jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/editor/DocumentMaker.java Wed Sep 26 09:05:14 2018
@@ -25,7 +25,7 @@ import org.apache.jackrabbit.oak.api.Pro
import org.apache.jackrabbit.oak.spi.state.NodeState;
/**
- * A {@link DocumentMaker} is responsible for creating an instance of a document {@link D} to be indexed.
+ * A {@link DocumentMaker} is responsible for creating an instance of a document D to be indexed.
* For Apache Lucene that would be a Lucene {@code Document}, for Apache Solr that might be a {@code SolrInputDocument}, etc.
*/
public interface DocumentMaker<D> {
Modified: jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/editor/FulltextDocumentMaker.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/editor/FulltextDocumentMaker.java?rev=1842008&r1=1842007&r2=1842008&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/editor/FulltextDocumentMaker.java (original)
+++ jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/editor/FulltextDocumentMaker.java Wed Sep 26 09:05:14 2018
@@ -52,20 +52,20 @@ import static org.apache.jackrabbit.oak.
/**
* Abstract implementation of a {@link DocumentMaker}.
*
- * @param <D> the type of documents to be indexed specific to subclasses implementations
+ * D is the type of entities / documents to be indexed specific to subclasses implementations.
*/
public abstract class FulltextDocumentMaker<D> implements DocumentMaker<D> {
private final Logger log = LoggerFactory.getLogger(getClass());
- protected final FulltextBinaryTextExtractor textExtractor;
+ private final FulltextBinaryTextExtractor textExtractor;
protected final IndexDefinition definition;
protected final IndexDefinition.IndexingRule indexingRule;
protected final String path;
public FulltextDocumentMaker(@Nullable FulltextBinaryTextExtractor textExtractor,
@NotNull IndexDefinition definition,
- @NotNull IndexDefinition.IndexingRule indexingRule,
+ IndexDefinition.IndexingRule indexingRule,
@NotNull String path) {
this.textExtractor = textExtractor;
this.definition = checkNotNull(definition);
@@ -75,7 +75,7 @@ public abstract class FulltextDocumentMa
protected abstract D initDoc();
- protected abstract D finalizeDoc(D fields, boolean dirty, boolean facet) throws IOException;
+ protected abstract D finalizeDoc(D doc, boolean dirty, boolean facet) throws IOException;
protected abstract boolean isFacetingEnabled();
@@ -420,13 +420,12 @@ public abstract class FulltextDocumentMa
return dirty;
}
- /**
+ /*
* Determine if the property as defined by PropertyDefinition exists or not.
*
- * <p>For relative property if the intermediate nodes do not exist then property is
- * <bold>not</bold> considered to be null</p>
+ * For relative property if the intermediate nodes do not exist then property is
+ * not considered to be null
*
- * @return true if the property does not exist
*/
private boolean isPropertyNull(NodeState state, PropertyDefinition pd){
NodeState propertyNode = getPropertyNode(state, pd);
@@ -436,13 +435,11 @@ public abstract class FulltextDocumentMa
return !propertyNode.hasProperty(pd.nonRelativeName);
}
- /**
+ /*
* Determine if the property as defined by PropertyDefinition exists or not.
*
- * <p>For relative property if the intermediate nodes do not exist then property is
- * considered to be null</p>
- *
- * @return true if the property exists
+ * For relative property if the intermediate nodes do not exist then property is
+ * considered to be null
*/
private boolean isPropertyNotNull(NodeState state, PropertyDefinition pd){
NodeState propertyNode = getPropertyNode(state, pd);
@@ -463,22 +460,17 @@ public abstract class FulltextDocumentMa
return node;
}
- /**
+ /*
* index aggregates on a certain path
- * @param path the path of the node
- * @param fields the list of fields
- * @param state the node state
- * @return an array of booleans whose first element is {@code true} if any indexing has happened
- * and the second element is {@code true} if facets on any (aggregate) property have been indexed
*/
- private boolean[] indexAggregates(final String path, final D fields,
+ private boolean[] indexAggregates(final String path, final D document,
final NodeState state) {
final AtomicBoolean dirtyFlag = new AtomicBoolean();
final AtomicBoolean facetFlag = new AtomicBoolean();
indexingRule.getAggregate().collectAggregates(state, new Aggregate.ResultCollector() {
@Override
public void onResult(Aggregate.NodeIncludeResult result) {
- boolean dirty = indexAggregatedNode(path, fields, result);
+ boolean dirty = indexAggregatedNode(path, document, result);
if (dirty) {
dirtyFlag.set(true);
}
@@ -488,10 +480,10 @@ public abstract class FulltextDocumentMa
public void onResult(Aggregate.PropertyIncludeResult result) {
boolean dirty = false;
if (result.pd.ordered) {
- dirty |= addTypedOrderedFields(fields, result.propertyState,
+ dirty |= addTypedOrderedFields(document, result.propertyState,
result.propertyPath, result.pd);
}
- dirty |= indexProperty(path, fields, state, result.propertyState,
+ dirty |= indexProperty(path, document, state, result.propertyState,
result.propertyPath, result.pd);
if (result.pd.facet) {
@@ -504,13 +496,10 @@ public abstract class FulltextDocumentMa
});
return new boolean[]{dirtyFlag.get(), facetFlag.get()};
}
- /**
+
+ /*
* Create the fulltext field from the aggregated nodes. If result is for aggregate for a relative node
* include then
- * @param path current node path
- * @param doc document
- * @param result aggregate result
- * @return true if a field was created for passed node result
*/
private boolean indexAggregatedNode(String path, D doc, Aggregate.NodeIncludeResult result) {
//rule for node being aggregated might be null if such nodes
@@ -579,10 +568,8 @@ public abstract class FulltextDocumentMa
return definition.getIndexName();
}
- /**
+ /*
* Extracts the local name of the current node ignoring any namespace prefix
- *
- * @param name node name
*/
private void addNodeNameField(D doc, String name) {
//TODO Need to check if it covers all cases
Modified: jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/editor/FulltextIndexEditor.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/editor/FulltextIndexEditor.java?rev=1842008&r1=1842007&r2=1842008&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/editor/FulltextIndexEditor.java (original)
+++ jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/editor/FulltextIndexEditor.java Wed Sep 26 09:05:14 2018
@@ -55,20 +55,20 @@ public class FulltextIndexEditor<D> impl
private final FulltextIndexEditorContext<D> context;
- /** Name of this node, or {@code null} for the root node. */
+ /* Name of this node, or {@code null} for the root node. */
private final String name;
- /** Parent editor or {@code null} if this is the root editor. */
+ /* Parent editor or {@code null} if this is the root editor. */
private final FulltextIndexEditor parent;
- /** Path of this editor, built lazily in {@link #getPath()}. */
+ /* Path of this editor, built lazily in {@link #getPath()}. */
private String path;
private boolean propertiesChanged = false;
private final List<PropertyState> propertiesModified = Lists.newArrayList();
- /**
+ /*
* Flag indicating if the current tree being traversed has a deleted parent.
*/
private final boolean isDeleted;
@@ -304,7 +304,7 @@ public class FulltextIndexEditor<D> impl
}
- /**
+ /*
* Determines which all matchers are affected by this property change
*
* @param name modified property name
Modified: jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/editor/FulltextIndexWriter.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/editor/FulltextIndexWriter.java?rev=1842008&r1=1842007&r2=1842008&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/editor/FulltextIndexWriter.java (original)
+++ jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/editor/FulltextIndexWriter.java Wed Sep 26 09:05:14 2018
@@ -22,10 +22,10 @@ package org.apache.jackrabbit.oak.plugin
import java.io.IOException;
/**
- * A {@link FulltextIndexWriter} is responsible for writing / deleting documents of type {@code D} to the index
+ * A {@link FulltextIndexWriter} is responsible for writing / deleting documents of type D to the index
* implementation underlying persistence layer.
*
- * @param <D>
+ *
*/
public interface FulltextIndexWriter<D> {
Modified: jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndexPlanner.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndexPlanner.java?rev=1842008&r1=1842007&r2=1842008&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndexPlanner.java (original)
+++ jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndexPlanner.java Wed Sep 26 09:05:14 2018
@@ -71,9 +71,8 @@ public class FulltextIndexPlanner {
public static final int DEFAULT_PROPERTY_WEIGHT = Integer.getInteger("oak.fulltext.defaultPropertyWeight", 5);
-
/**
- * IndexPaln Attribute name which refers to the name of the fields that should be used for facets.
+ * IndexPlan Attribute name which refers to the name of the fields that should be used for facets.
*/
public static final String ATTR_FACET_FIELDS = "oak.facet.fields";
@@ -410,10 +409,9 @@ public class FulltextIndexPlanner {
return canHandleNativeFunction ? defaultPlan().setEstimatedEntryCount(1) : null;
}
- /**
+ /*
* Check if there is a mismatch between QueryPaths associated with index
* and path restriction specified in query
-
* @return true if QueryPaths and path restrictions do not have any conflict
*/
private boolean checkForQueryPaths() {
@@ -569,7 +567,7 @@ public class FulltextIndexPlanner {
return true;
}
- /**
+ /*
* Computes the indexedProps which can be part of query by virtue of relativizing i.e.
* if query is on jcr:content/keyword then perform search on keyword and change parent
* path to jcr:content
@@ -907,7 +905,7 @@ public class FulltextIndexPlanner {
return true;
}
- /**
+ /*
* Determine if the propertyName of a fulltext term indicates current node
* @param propertyName property name in the full text term clause
*/
Modified: jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndexTracker.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndexTracker.java?rev=1842008&r1=1842007&r2=1842008&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndexTracker.java (original)
+++ jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndexTracker.java Wed Sep 26 09:05:14 2018
@@ -57,7 +57,6 @@ import static org.apache.jackrabbit.oak.
public abstract class FulltextIndexTracker {
- /** Logger instance. */
private static final Logger log = LoggerFactory.getLogger(FulltextIndexTracker.class);
private static final PerfLogger PERF_LOGGER =
new PerfLogger(LoggerFactory.getLogger(FulltextIndexTracker.class.getName() + ".perf"));