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 th...@apache.org on 2022/03/31 13:30:37 UTC
[jackrabbit-oak] 01/01: OAK-9743 oak-run indexing doesn't support facets
This is an automated email from the ASF dual-hosted git repository.
thomasm pushed a commit to branch OAK-9743
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
commit b134b075de7bb601f69d8ebfc681c615aea4b0b0
Author: Thomas Mueller <th...@apache.org>
AuthorDate: Thu Mar 31 15:30:21 2022 +0200
OAK-9743 oak-run indexing doesn't support facets
---
.../oak/index/indexer/document/LuceneIndexer.java | 20 +++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/LuceneIndexer.java b/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/LuceneIndexer.java
index b9cf76f..4f85fb1 100644
--- a/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/LuceneIndexer.java
+++ b/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/LuceneIndexer.java
@@ -26,6 +26,7 @@ import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.plugins.document.NodeDocument;
import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneDocumentMaker;
import org.apache.jackrabbit.oak.plugins.index.lucene.util.FacetHelper;
+import org.apache.jackrabbit.oak.plugins.index.lucene.util.FacetsConfigProvider;
import org.apache.jackrabbit.oak.plugins.index.lucene.writer.LuceneIndexWriter;
import org.apache.jackrabbit.oak.plugins.index.progress.IndexingProgressReporter;
import org.apache.jackrabbit.oak.plugins.index.search.IndexDefinition;
@@ -33,13 +34,15 @@ import org.apache.jackrabbit.oak.plugins.index.search.spi.binary.FulltextBinaryT
import org.apache.jackrabbit.oak.spi.filter.PathFilter;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.lucene.document.Document;
+import org.apache.lucene.facet.FacetsConfig;
-public class LuceneIndexer implements NodeStateIndexer {
+public class LuceneIndexer implements NodeStateIndexer, FacetsConfigProvider {
private final IndexDefinition definition;
private final FulltextBinaryTextExtractor binaryTextExtractor;
private final NodeBuilder definitionBuilder;
private final LuceneIndexWriter indexWriter;
private final IndexingProgressReporter progressReporter;
+ private FacetsConfig facetsConfig;
public LuceneIndexer(IndexDefinition definition, LuceneIndexWriter indexWriter,
NodeBuilder builder, FulltextBinaryTextExtractor binaryTextExtractor,
@@ -111,11 +114,22 @@ public class LuceneIndexer implements NodeStateIndexer {
private LuceneDocumentMaker newDocumentMaker(IndexDefinition.IndexingRule indexingRule, String path) {
return new LuceneDocumentMaker(
binaryTextExtractor,
- () -> FacetHelper.getFacetsConfig(definitionBuilder), //TODO FacetsConfig handling
- null, //TODO augmentorFactory
+ // we re-use the facet config
+ this,
+ // augmentorFactory is not supported (it is deprecated)
+ null,
definition,
indexingRule,
path
);
}
+
+ @Override
+ public FacetsConfig getFacetsConfig() {
+ if (facetsConfig == null){
+ facetsConfig = FacetHelper.getFacetsConfig(definitionBuilder);
+ }
+ return facetsConfig;
+ }
+
}