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/25 12:24:18 UTC
svn commit: r1841926 [12/14] - in /jackrabbit/oak/trunk:
oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/
oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/util/
oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/sca...
Added: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneWritesOnSegmentStatsTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneWritesOnSegmentStatsTest.java?rev=1841926&view=auto
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneWritesOnSegmentStatsTest.java (added)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneWritesOnSegmentStatsTest.java Tue Sep 25 12:24:15 2018
@@ -0,0 +1,388 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.jackrabbit.oak.plugins.index.lucene;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.charset.Charset;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+import java.util.Random;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+
+import com.google.common.io.Files;
+import org.apache.commons.io.FileUtils;
+import org.apache.jackrabbit.core.data.FileDataStore;
+import org.apache.jackrabbit.oak.InitialContent;
+import org.apache.jackrabbit.oak.Oak;
+import org.apache.jackrabbit.oak.api.ContentRepository;
+import org.apache.jackrabbit.oak.api.Tree;
+import org.apache.jackrabbit.oak.commons.IOUtils;
+import org.apache.jackrabbit.oak.commons.concurrent.ExecutorCloser;
+import org.apache.jackrabbit.oak.plugins.blob.BlobStoreStats;
+import org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore;
+import org.apache.jackrabbit.oak.plugins.blob.datastore.OakFileDataStore;
+import org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier;
+import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexDefinition;
+import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditorProvider;
+import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProvider;
+import org.apache.jackrabbit.oak.plugins.index.lucene.TestUtil;
+import org.apache.jackrabbit.oak.plugins.index.lucene.directory.CopyOnReadDirectory;
+import org.apache.jackrabbit.oak.plugins.index.lucene.util.IndexDefinitionBuilder;
+import org.apache.jackrabbit.oak.plugins.index.nodetype.NodeTypeIndexProvider;
+import org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexEditorProvider;
+import org.apache.jackrabbit.oak.plugins.index.search.ExtractedTextCache;
+import org.apache.jackrabbit.oak.plugins.index.search.IndexDefinition;
+import org.apache.jackrabbit.oak.query.AbstractQueryTest;
+import org.apache.jackrabbit.oak.segment.SegmentNodeStoreBuilders;
+import org.apache.jackrabbit.oak.segment.file.FileStore;
+import org.apache.jackrabbit.oak.segment.file.FileStoreBuilder;
+import org.apache.jackrabbit.oak.segment.file.FileStoreStats;
+import org.apache.jackrabbit.oak.segment.file.InvalidFileStoreVersionException;
+import org.apache.jackrabbit.oak.spi.blob.BlobStore;
+import org.apache.jackrabbit.oak.spi.blob.stats.BlobStatsCollector;
+import org.apache.jackrabbit.oak.spi.commit.Observer;
+import org.apache.jackrabbit.oak.spi.query.QueryIndexProvider;
+import org.apache.jackrabbit.oak.spi.security.OpenSecurityProvider;
+import org.apache.jackrabbit.oak.spi.state.NodeStore;
+import org.apache.jackrabbit.oak.stats.DefaultStatisticsProvider;
+import org.apache.jackrabbit.oak.stats.StatisticsProvider;
+import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.FSDirectory;
+import org.apache.lucene.store.FilterDirectory;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * Tests for checking impacts of Lucene writes wrt storage / configuration adjustments on the
+ * {@link org.apache.jackrabbit.oak.segment.SegmentNodeStore}.
+ */
+@Ignore("this is meant to be a benchmark, it shouldn't be part of everyday builds")
+@RunWith(Parameterized.class)
+public class LuceneWritesOnSegmentStatsTest extends AbstractQueryTest {
+
+ private static final File DIRECTORY = new File("target/fs");
+ private static final String FOO_QUERY = "select [jcr:path] from [nt:base] where contains('foo', '*')";
+
+ private final boolean copyOnRW;
+ private final String codec;
+ private final boolean indexOnFS;
+ private final int minRecordLength;
+ private final String mergePolicy;
+
+ private ExecutorService executorService = Executors.newFixedThreadPool(2);
+
+ private final ScheduledExecutorService scheduledExecutorService = Executors.newSingleThreadScheduledExecutor();
+
+ @Rule
+ public TemporaryFolder temporaryFolder = new TemporaryFolder(new File("target"));
+
+ private String corDir = null;
+ private String cowDir = null;
+
+ private TestUtil.OptionalEditorProvider optionalEditorProvider = new TestUtil.OptionalEditorProvider();
+
+ private FileStore fileStore;
+ private DataStoreBlobStore dataStoreBlobStore;
+ private DefaultStatisticsProvider statisticsProvider;
+ private String fdsDir;
+ private String indexPath;
+
+
+ public LuceneWritesOnSegmentStatsTest(boolean copyOnRW, String codec, boolean indexOnFS, int minRecordLength, String mergePolicy) {
+ this.copyOnRW = copyOnRW;
+ this.codec = codec;
+ this.indexOnFS = indexOnFS;
+ this.minRecordLength = minRecordLength;
+ this.mergePolicy = mergePolicy;
+ }
+
+ @Parameterized.Parameters
+ public static Collection<Object[]> data() {
+ return Arrays.asList(new Object[][]{
+ {false, "oakCodec", false, 4096, "tiered"},
+ {false, "oakCodec", false, 4096, "mitigated"},
+ {false, "oakCodec", false, 4096, "no"},
+ {false, "Lucene46", false, 4096, "tiered"},
+ {false, "Lucene46", false, 4096, "mitigated"},
+ {false, "Lucene46", false, 4096, "no"},
+ {false, "oakCodec", false, 100, "tiered"},
+ {false, "oakCodec", false, 100, "mitigated"},
+ {false, "oakCodec", false, 100, "no"},
+ {false, "Lucene46", false, 100, "tiered"},
+ {false, "Lucene46", false, 100, "mitigated"},
+ {false, "Lucene46", false, 100, "no"},
+ });
+ }
+
+ @Before
+ public void setUp() throws Exception {
+ if (!DIRECTORY.exists()) {
+ assert DIRECTORY.mkdirs();
+ }
+ }
+
+ @After
+ public void after() {
+ new ExecutorCloser(executorService).close();
+ IndexDefinition.setDisableStoredIndexDefinition(false);
+ fileStore.close();
+ if (DIRECTORY.exists()) {
+ try {
+ FileUtils.deleteDirectory(DIRECTORY);
+ } catch (IOException e) {
+ // do nothing
+ }
+ }
+ }
+
+ @Override
+ protected void createTestIndexNode() throws Exception {
+ setTraversalEnabled(false);
+ }
+
+ @Override
+ protected ContentRepository createRepository() {
+ LuceneIndexEditorProvider editorProvider;
+ LuceneIndexProvider provider;
+ if (copyOnRW) {
+ IndexCopier copier = createIndexCopier();
+ editorProvider = new LuceneIndexEditorProvider(copier, new ExtractedTextCache(10 * FileUtils.ONE_MB, 100));
+ provider = new LuceneIndexProvider(copier);
+ } else {
+ editorProvider = new LuceneIndexEditorProvider();
+ provider = new LuceneIndexProvider();
+ }
+
+ NodeStore nodeStore;
+ try {
+ statisticsProvider = new DefaultStatisticsProvider(scheduledExecutorService);
+ fileStore = FileStoreBuilder.fileStoreBuilder(DIRECTORY)
+ .withStatisticsProvider(statisticsProvider)
+ .withBlobStore(createBlobStore())
+ .build();
+ nodeStore = SegmentNodeStoreBuilders.builder(fileStore).build();
+ } catch (IOException | InvalidFileStoreVersionException e) {
+ throw new RuntimeException(e);
+ }
+ return new Oak(nodeStore)
+ .with(new InitialContent())
+ .with(new OpenSecurityProvider())
+ .with((QueryIndexProvider) provider)
+ .with((Observer) provider)
+ .with(editorProvider)
+ .with(optionalEditorProvider)
+ .with(new PropertyIndexEditorProvider())
+ .with(new NodeTypeIndexProvider())
+ .createContentRepository();
+ }
+
+ private BlobStore createBlobStore() {
+ FileDataStore fds = new OakFileDataStore();
+ fdsDir = "target/fds-" + codec + copyOnRW + minRecordLength + mergePolicy;
+ fds.setPath(fdsDir);
+ if (minRecordLength > 0) {
+ fds.setMinRecordLength(minRecordLength);
+ }
+ fds.init(null);
+ dataStoreBlobStore = new DataStoreBlobStore(fds);
+ StatisticsProvider sp = new DefaultStatisticsProvider(scheduledExecutorService);
+ BlobStatsCollector collector = new BlobStoreStats(sp);
+ dataStoreBlobStore.setBlobStatsCollector(collector);
+ return dataStoreBlobStore;
+ }
+
+ private IndexCopier createIndexCopier() {
+ try {
+ return new IndexCopier(executorService, temporaryFolder.getRoot()) {
+ @Override
+ public Directory wrapForRead(String indexPath, LuceneIndexDefinition definition,
+ Directory remote, String dirName) throws IOException {
+ Directory ret = super.wrapForRead(indexPath, definition, remote, dirName);
+ corDir = getFSDirPath(ret);
+ return ret;
+ }
+
+ @Override
+ public Directory wrapForWrite(LuceneIndexDefinition definition,
+ Directory remote, boolean reindexMode, String dirName) throws IOException {
+ Directory ret = super.wrapForWrite(definition, remote, reindexMode, dirName);
+ cowDir = getFSDirPath(ret);
+ return ret;
+ }
+
+ private String getFSDirPath(Directory dir) {
+ if (dir instanceof CopyOnReadDirectory) {
+ dir = ((CopyOnReadDirectory) dir).getLocal();
+ }
+
+ dir = unwrap(dir);
+
+ if (dir instanceof FSDirectory) {
+ return ((FSDirectory) dir).getDirectory().getAbsolutePath();
+ }
+ return null;
+ }
+
+ private Directory unwrap(Directory dir) {
+ if (dir instanceof FilterDirectory) {
+ return unwrap(((FilterDirectory) dir).getDelegate());
+ }
+ return dir;
+ }
+
+ };
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @After
+ public void shutdownExecutor() {
+ executorService.shutdown();
+ scheduledExecutorService.shutdown();
+ }
+
+ @Test
+ public void testLuceneIndexSegmentStats() throws Exception {
+ IndexDefinitionBuilder idxb = new IndexDefinitionBuilder().noAsync().codec(codec).mergePolicy(mergePolicy);
+ idxb.indexRule("nt:base").property("foo").analyzed().nodeScopeIndex().ordered().useInExcerpt().propertyIndex();
+ idxb.indexRule("nt:base").property("bin").analyzed().nodeScopeIndex().ordered().useInExcerpt().propertyIndex();
+ Tree idx = root.getTree("/").getChild("oak:index").addChild("lucenePropertyIndex");
+ Tree idxDef = idxb.build(idx);
+ if (!codec.equals("oakCodec") && indexOnFS) {
+ idxDef.setProperty("persistence", "file");
+ indexPath = "target/index-" + codec + copyOnRW;
+ idxDef.setProperty("path", indexPath);
+ }
+
+
+ Random r = new Random();
+
+ System.out.println("***");
+ System.out.println(codec + "," + copyOnRW + "," + indexOnFS + "," + minRecordLength + "," + mergePolicy);
+
+ long start = System.currentTimeMillis();
+ int multiplier = 5;
+ for (int n = 0; n < multiplier; n++) {
+ System.err.println("iteration " + (n + 1));
+
+ Tree rootTree = root.getTree("/").addChild("content");
+ byte[] bytes = new byte[10240];
+ Charset charset = Charset.defaultCharset();
+ String text = "";
+ for (int i = 0; i < 1000; i++) {
+ r.nextBytes(bytes);
+ text = new String(bytes, charset);
+ Tree tree = rootTree.addChild(String.valueOf(n + i));
+ tree.setProperty("foo", text);
+ tree.setProperty("bin", bytes);
+ }
+ root.commit();
+
+ printStats();
+
+ System.out.println("reindex");
+
+ // do nothing, reindex and measure
+ idx = root.getTree("/oak:index/lucenePropertyIndex");
+ idx.setProperty("reindex", true);
+ root.commit();
+
+ printStats();
+
+ System.out.println("add and delete");
+
+ // add and delete some content and measure
+ for (int i = 0; i < 1000; i++) {
+ r.nextBytes(bytes);
+ text = new String(bytes, charset);
+ Tree tree = rootTree.addChild(String.valueOf(n + 100 + i));
+ tree.setProperty("foo", text);
+ tree.setProperty("bin", bytes);
+ if (n + i % 3 == 0) { // delete one of the already existing nodes every 3
+ assert rootTree.getChild(String.valueOf(n + i)).remove();
+ }
+ }
+ root.commit();
+
+ printStats();
+ }
+ long time = System.currentTimeMillis() - start;
+ System.out.println("finished in " + (time / (60000)) + " minutes");
+ System.out.println("***");
+ }
+
+ private double evaluateQuery(String fooQuery) {
+ long q1Start = System.currentTimeMillis();
+ List<String> res1 = executeQuery(fooQuery, SQL2);
+ long q1End = System.currentTimeMillis();
+ double time = (q1End - q1Start) / 1000d;
+ assertNotNull(res1);
+ assertTrue(res1.size() > 0);
+ return time;
+ }
+
+ private void printStats() throws IOException {
+ fileStore.flush();
+
+ FileStoreStats stats = fileStore.getStats();
+
+ long sizeOfDirectory = FileUtils.sizeOfDirectory(new File(fdsDir));
+ String fdsSize = (sizeOfDirectory / (1024 * 1000)) + " MB";
+
+ double time = evaluateQuery(FOO_QUERY);
+
+ System.err.println("||codec||min record length||merge policy||segment size||FDS size||query time||");
+ System.err.println("|" + codec + "|" + minRecordLength + "|" + mergePolicy + "|" + IOUtils.humanReadableByteCount(
+ stats.getApproximateSize()) + "|" + fdsSize + "|" + time + " s|");
+
+ if (indexOnFS) {
+ long sizeOfFSIndex = FileUtils.sizeOfDirectory(new File(indexPath));
+ System.out.println("Index on FS size : " + FileUtils.byteCountToDisplaySize(sizeOfFSIndex));
+ }
+ }
+
+ private long dumpFileStoreTo(File to) throws IOException {
+ if (!to.exists()) {
+ assert to.mkdirs();
+ }
+ for (File f : DIRECTORY.listFiles()) {
+ Files.copy(f, new File(to.getPath(), f.getName()));
+ }
+
+ long sizeOfDirectory = FileUtils.sizeOfDirectory(to);
+
+ to.deleteOnExit();
+ return sizeOfDirectory;
+ }
+}
Propchange: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneWritesOnSegmentStatsTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/MultiplexingLucenePropertyIndexTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/MultiplexingLucenePropertyIndexTest.java?rev=1841926&r1=1841925&r2=1841926&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/MultiplexingLucenePropertyIndexTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/MultiplexingLucenePropertyIndexTest.java Tue Sep 25 12:24:15 2018
@@ -19,6 +19,19 @@
package org.apache.jackrabbit.oak.plugins.index.lucene;
+import static com.google.common.collect.ImmutableList.of;
+import static org.apache.jackrabbit.oak.api.QueryEngine.NO_BINDINGS;
+import static org.apache.jackrabbit.oak.api.Type.STRINGS;
+import static org.apache.jackrabbit.oak.plugins.index.lucene.LucenePropertyIndexTest.createIndex;
+import static org.apache.jackrabbit.oak.plugins.index.lucene.TestUtil.newDoc;
+import static org.apache.jackrabbit.oak.plugins.index.lucene.util.LuceneIndexHelper.newLucenePropertyIndexDefinition;
+import static org.apache.jackrabbit.oak.plugins.index.search.FulltextIndexConstants.ORDERED_PROP_NAMES;
+import static org.apache.jackrabbit.oak.plugins.index.search.FulltextIndexConstants.PROP_NODE;
+import static org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.EMPTY_NODE;
+import static org.apache.jackrabbit.oak.plugins.memory.PropertyStates.createProperty;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
@@ -33,6 +46,7 @@ import javax.jcr.PropertyType;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Lists;
import org.apache.commons.io.FileUtils;
+import org.apache.jackrabbit.oak.InitialContent;
import org.apache.jackrabbit.oak.Oak;
import org.apache.jackrabbit.oak.api.ContentRepository;
import org.apache.jackrabbit.oak.api.Result;
@@ -46,12 +60,14 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.plugins.index.lucene.writer.DefaultIndexWriterFactory;
import org.apache.jackrabbit.oak.plugins.index.lucene.writer.LuceneIndexWriter;
import org.apache.jackrabbit.oak.plugins.index.lucene.writer.LuceneIndexWriterConfig;
-import org.apache.jackrabbit.oak.plugins.index.lucene.writer.LuceneIndexWriterFactory;
import org.apache.jackrabbit.oak.plugins.index.lucene.writer.MultiplexersLucene;
import org.apache.jackrabbit.oak.plugins.index.nodetype.NodeTypeIndexProvider;
import org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexEditorProvider;
+import org.apache.jackrabbit.oak.plugins.index.search.FulltextIndexConstants;
+import org.apache.jackrabbit.oak.plugins.index.search.ExtractedTextCache;
+import org.apache.jackrabbit.oak.plugins.index.search.spi.query.FulltextIndexPlanner;
import org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStore;
-import org.apache.jackrabbit.oak.InitialContent;
+import org.apache.jackrabbit.oak.plugins.memory.PropertyValues;
import org.apache.jackrabbit.oak.query.AbstractQueryTest;
import org.apache.jackrabbit.oak.query.NodeStateNodeTypeInfoProvider;
import org.apache.jackrabbit.oak.query.QueryEngineSettings;
@@ -63,7 +79,6 @@ import org.apache.jackrabbit.oak.query.i
import org.apache.jackrabbit.oak.spi.commit.Observer;
import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider;
import org.apache.jackrabbit.oak.spi.mount.Mounts;
-import org.apache.jackrabbit.oak.plugins.memory.PropertyValues;
import org.apache.jackrabbit.oak.spi.query.QueryIndex;
import org.apache.jackrabbit.oak.spi.query.QueryIndexProvider;
import org.apache.jackrabbit.oak.spi.security.OpenSecurityProvider;
@@ -79,14 +94,6 @@ import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import static com.google.common.collect.ImmutableList.of;
-import static org.apache.jackrabbit.oak.api.QueryEngine.NO_BINDINGS;
-import static org.apache.jackrabbit.oak.api.Type.STRINGS;
-import static org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants.ORDERED_PROP_NAMES;
-import static org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants.PROP_NODE;
-import static org.apache.jackrabbit.oak.plugins.index.lucene.LucenePropertyIndexTest.createIndex;
-import static org.apache.jackrabbit.oak.plugins.index.lucene.util.LuceneIndexHelper.newLucenePropertyIndexDefinition;
-import static org.apache.jackrabbit.oak.plugins.index.lucene.TestUtil.newDoc;
-import static org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.EMPTY_NODE;
import static org.apache.jackrabbit.oak.plugins.memory.PropertyStates.createProperty;
import static org.apache.jackrabbit.oak.InitialContentHelper.INITIAL_CONTENT;
import static org.junit.Assert.assertEquals;
@@ -101,7 +108,7 @@ public class MultiplexingLucenePropertyI
private NodeState initialContent = INITIAL_CONTENT;
private NodeBuilder builder = EMPTY_NODE.builder();
private MountInfoProvider mip = Mounts.newBuilder()
- .mount("foo", "/libs", "/apps").build();
+ .mount("foo", "/libs", "/apps").build();
private NodeStore nodeStore;
@Override
@@ -113,30 +120,30 @@ public class MultiplexingLucenePropertyI
throw new RuntimeException(e);
}
LuceneIndexEditorProvider editorProvider = new LuceneIndexEditorProvider(copier,
- new ExtractedTextCache(10*FileUtils.ONE_MB, 100),
- null,
- mip);
+ new ExtractedTextCache(10*FileUtils.ONE_MB, 100),
+ null,
+ mip);
LuceneIndexProvider provider = new LuceneIndexProvider(new IndexTracker(new DefaultIndexReaderFactory(mip, copier)));
nodeStore = new MemoryNodeStore();
return new Oak(nodeStore)
- .with(new InitialContent())
- .with(new OpenSecurityProvider())
- .with((QueryIndexProvider) provider)
- .with((Observer) provider)
- .with(editorProvider)
- .with(new PropertyIndexEditorProvider())
- .with(new NodeTypeIndexProvider())
- .createContentRepository();
+ .with(new InitialContent())
+ .with(new OpenSecurityProvider())
+ .with((QueryIndexProvider) provider)
+ .with((Observer) provider)
+ .with(editorProvider)
+ .with(new PropertyIndexEditorProvider())
+ .with(new NodeTypeIndexProvider())
+ .createContentRepository();
}
@Test
public void numDocsIsSumOfAllReaders() throws Exception{
NodeBuilder defnBuilder = newLucenePropertyIndexDefinition(builder, "test", ImmutableSet.of("foo"), "async");
- IndexDefinition defn = new IndexDefinition(initialContent, defnBuilder.getNodeState(), "/foo");
+ LuceneIndexDefinition defn = new LuceneIndexDefinition(initialContent, defnBuilder.getNodeState(), "/foo");
//1. Have 2 reader created by writes in 2 diff mounts
DirectoryFactory directoryFactory = new DefaultDirectoryFactory(null, null);
- LuceneIndexWriterFactory factory = new DefaultIndexWriterFactory(mip, directoryFactory, new LuceneIndexWriterConfig());
+ DefaultIndexWriterFactory factory = new DefaultIndexWriterFactory(mip, directoryFactory, new LuceneIndexWriterConfig());
LuceneIndexWriter writer = factory.newInstance(defn, builder, true);
Document doc = newDoc("/content/en");
@@ -153,12 +160,12 @@ public class MultiplexingLucenePropertyI
LuceneIndexReaderFactory readerFactory = new DefaultIndexReaderFactory(mip, null);
List<LuceneIndexReader> readers = readerFactory.createReaders(defn, builder.getNodeState(),"/foo");
- IndexNodeManager node = new IndexNodeManager("foo", defn, readers, null);
+ LuceneIndexNodeManager node = new LuceneIndexNodeManager("foo", defn, readers, null);
//3 Obtain the plan
FilterImpl filter = createFilter("nt:base");
filter.restrictProperty("foo", Operator.EQUAL, PropertyValues.newString("bar"));
- IndexPlanner planner = new IndexPlanner(node.acquire(), "/foo", filter, Collections.<QueryIndex.OrderEntry>emptyList());
+ FulltextIndexPlanner planner = new FulltextIndexPlanner(node.acquire(), "/foo", filter, Collections.<QueryIndex.OrderEntry>emptyList());
QueryIndex.IndexPlan plan = planner.getPlan();
//Count should be sum of both readers
@@ -195,8 +202,8 @@ public class MultiplexingLucenePropertyI
createIndex(root.getTree("/"), idxName, Collections.singleton("foo"));
root.commit();
- int expectedSize = LucenePropertyIndex.LUCENE_QUERY_BATCH_SIZE * 2 * 2;
- for (int i = 0; i < LucenePropertyIndex.LUCENE_QUERY_BATCH_SIZE * 2; i++) {
+ int expectedSize = LuceneIndex.LUCENE_QUERY_BATCH_SIZE * 2 * 2;
+ for (int i = 0; i < LuceneIndex.LUCENE_QUERY_BATCH_SIZE * 2; i++) {
createPath("/libs/a"+i).setProperty("foo", "bar");
createPath("/content/a"+i).setProperty("foo", "bar");
}
@@ -211,7 +218,7 @@ public class MultiplexingLucenePropertyI
Tree idx = createIndex(root.getTree("/"), "test1", ImmutableSet.of("foo", "bar", "baz"));
idx.setProperty(createProperty(ORDERED_PROP_NAMES, ImmutableSet.of("foo", "baz"), STRINGS));
Tree propIdx = idx.addChild(PROP_NODE).addChild("baz");
- propIdx.setProperty(LuceneIndexConstants.PROP_TYPE, PropertyType.TYPENAME_LONG);
+ propIdx.setProperty(FulltextIndexConstants.PROP_TYPE, PropertyType.TYPENAME_LONG);
root.commit();
int firstPropSize = 25;
@@ -233,7 +240,7 @@ public class MultiplexingLucenePropertyI
root.commit();
assertOrderedQuery("select [jcr:path] from [nt:base] where [bar] = 'baz' order by [foo] asc, [baz] desc",
- LucenePropertyIndexTest.getSortedPaths(tuples));
+ LucenePropertyIndexTest.getSortedPaths(tuples));
}
private List<String> getIndexDirNames(String indexName){
Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/NodeStateAnalyzerFactoryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/NodeStateAnalyzerFactoryTest.java?rev=1841926&r1=1841925&r2=1841926&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/NodeStateAnalyzerFactoryTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/NodeStateAnalyzerFactoryTest.java Tue Sep 25 12:24:15 2018
@@ -95,8 +95,8 @@ public class NodeStateAnalyzerFactoryTes
assertEquals(WhitespaceTokenizerFactory.class.getName(), analyzer.getTokenizer().getClassArg());
nb.child(ANL_TOKENIZER)
- .setProperty(ANL_NAME, "pathhierarchy")
- .setProperty("delimiter", "#");
+ .setProperty(ANL_NAME, "pathhierarchy")
+ .setProperty("delimiter", "#");
analyzer = (TokenizerChain) factory.createInstance(nb.getNodeState());
assertEquals(PathHierarchyTokenizerFactory.class.getName(), analyzer.getTokenizer().getClassArg());
assertEquals('#', getValue(analyzer.getTokenizer(), "delimiter"));
@@ -172,7 +172,7 @@ public class NodeStateAnalyzerFactoryTes
createFileNode(nb, "foo", testData);
NodeStateResourceLoader loader = new NodeStateResourceLoader(nb.getNodeState(),
- new ClasspathResourceLoader());
+ new ClasspathResourceLoader());
assertArrayEquals(testData, IOUtils.toByteArray(loader.openResource("foo")));
}
Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/ResultCountingIndexProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/ResultCountingIndexProvider.java?rev=1841926&r1=1841925&r2=1841926&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/ResultCountingIndexProvider.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/ResultCountingIndexProvider.java Tue Sep 25 12:24:15 2018
@@ -158,4 +158,4 @@ class ResultCountingIndexProvider implem
};
}
}
-}
+}
\ No newline at end of file
Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/SuggestionIntervalTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/SuggestionIntervalTest.java?rev=1841926&r1=1841925&r2=1841926&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/SuggestionIntervalTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/SuggestionIntervalTest.java Tue Sep 25 12:24:15 2018
@@ -16,8 +16,20 @@
*/
package org.apache.jackrabbit.oak.plugins.index.lucene;
-import com.google.common.collect.Sets;
+import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_DEFINITIONS_NAME;
+import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_DEFINITIONS_NODE_TYPE;
+import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.REINDEX_PROPERTY_NAME;
+import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.TYPE_PROPERTY_NAME;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.util.Set;
+import java.util.concurrent.TimeUnit;
+
+import javax.jcr.query.Query;
+
import org.apache.jackrabbit.JcrConstants;
+import org.apache.jackrabbit.oak.InitialContent;
import org.apache.jackrabbit.oak.Oak;
import org.apache.jackrabbit.oak.api.ContentRepository;
import org.apache.jackrabbit.oak.api.QueryEngine;
@@ -25,7 +37,9 @@ import org.apache.jackrabbit.oak.api.Res
import org.apache.jackrabbit.oak.api.ResultRow;
import org.apache.jackrabbit.oak.api.Tree;
import org.apache.jackrabbit.oak.api.Type;
-import org.apache.jackrabbit.oak.InitialContent;
+import org.apache.jackrabbit.oak.plugins.index.search.FulltextIndexConstants;
+import org.apache.jackrabbit.oak.plugins.index.search.IndexDefinition;
+import org.apache.jackrabbit.oak.plugins.index.search.IndexFormatVersion;
import org.apache.jackrabbit.oak.query.AbstractQueryTest;
import org.apache.jackrabbit.oak.spi.commit.Observer;
import org.apache.jackrabbit.oak.spi.query.QueryIndexProvider;
@@ -34,17 +48,7 @@ import org.apache.jackrabbit.oak.stats.C
import org.junit.After;
import org.junit.Test;
-import javax.jcr.query.Query;
-import java.util.Set;
-import java.util.concurrent.TimeUnit;
-
-import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_DEFINITIONS_NAME;
-import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_DEFINITIONS_NODE_TYPE;
-import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.REINDEX_PROPERTY_NAME;
-import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.TYPE_PROPERTY_NAME;
-import static org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants.INDEX_RULES;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import com.google.common.collect.Sets;
public class SuggestionIntervalTest extends AbstractQueryTest {
@@ -55,12 +59,12 @@ public class SuggestionIntervalTest exte
LuceneIndexProvider provider = new LuceneIndexProvider();
ContentRepository repository = new Oak()
- .with(new InitialContent())
- .with(new OpenSecurityProvider())
- .with((QueryIndexProvider) provider)
- .with((Observer) provider)
- .with(new LuceneIndexEditorProvider())
- .createContentRepository();
+ .with(new InitialContent())
+ .with(new OpenSecurityProvider())
+ .with((QueryIndexProvider) provider)
+ .with((Observer) provider)
+ .with(new LuceneIndexEditorProvider())
+ .createContentRepository();
clock = new Clock.Virtual();
try {
@@ -79,24 +83,24 @@ public class SuggestionIntervalTest exte
}
private Tree createSuggestIndex(String indexedNodeType)
- throws Exception {
+ throws Exception {
String indexName = "lucene-suggest";
Tree def = root.getTree("/" + INDEX_DEFINITIONS_NAME)
- .addChild(indexName);
+ .addChild(indexName);
def.setProperty(JcrConstants.JCR_PRIMARYTYPE, INDEX_DEFINITIONS_NODE_TYPE);
def.setProperty(TYPE_PROPERTY_NAME, LuceneIndexConstants.TYPE_LUCENE);
def.setProperty(REINDEX_PROPERTY_NAME, true);
def.setProperty("name", indexName);
- def.setProperty(LuceneIndexConstants.COMPAT_MODE, IndexFormatVersion.V2.getVersion());
+ def.setProperty(FulltextIndexConstants.COMPAT_MODE, IndexFormatVersion.V2.getVersion());
- Tree propertyIdxDef = def.addChild(INDEX_RULES)
- .addChild(indexedNodeType)
- .addChild(LuceneIndexConstants.PROP_NODE)
- .addChild("indexedProperty");
+ Tree propertyIdxDef = def.addChild(FulltextIndexConstants.INDEX_RULES)
+ .addChild(indexedNodeType)
+ .addChild(FulltextIndexConstants.PROP_NODE)
+ .addChild("indexedProperty");
propertyIdxDef.setProperty("propertyIndex", true);
propertyIdxDef.setProperty("analyzed", true);
propertyIdxDef.setProperty("useInSuggest", true);
- propertyIdxDef.setProperty("name", LuceneIndexConstants.PROPDEF_PROP_NODE_NAME);
+ propertyIdxDef.setProperty("name", FulltextIndexConstants.PROPDEF_PROP_NODE_NAME);
return def;
}
@@ -134,7 +138,7 @@ public class SuggestionIntervalTest exte
//add a node... this should kick in a suggestions udpate too as enough time has passed
root.getTree("/").addChild("indexedNode")
- .setProperty(JcrConstants.JCR_PRIMARYTYPE, nodeType, Type.NAME);
+ .setProperty(JcrConstants.JCR_PRIMARYTYPE, nodeType, Type.NAME);
root.commit();
Set<String> suggestions = getSuggestions(nodeType, "indexedn");
@@ -156,7 +160,7 @@ public class SuggestionIntervalTest exte
//add a node that get part in the index
root.getTree("/").addChild("indexedNode")
- .setProperty(JcrConstants.JCR_PRIMARYTYPE, nodeType, Type.NAME);
+ .setProperty(JcrConstants.JCR_PRIMARYTYPE, nodeType, Type.NAME);
root.commit();
//wait for suggestions refresh time
@@ -165,7 +169,7 @@ public class SuggestionIntervalTest exte
//push a change which should not make any change in the index but yet should help update suggestions
root.getTree("/").addChild("some-non-index-change")
- .setProperty(JcrConstants.JCR_PRIMARYTYPE, "oak:Unstructured", Type.NAME);
+ .setProperty(JcrConstants.JCR_PRIMARYTYPE, "oak:Unstructured", Type.NAME);
root.commit();
Set<String> suggestions = getSuggestions(nodeType, "indexedn");
@@ -182,7 +186,7 @@ public class SuggestionIntervalTest exte
//initial content which also updates suggestions with "indexedNode"
Tree indexDef = createSuggestIndex(nodeType);
root.getTree("/").addChild("indexedNode")
- .setProperty(JcrConstants.JCR_PRIMARYTYPE, nodeType);
+ .setProperty(JcrConstants.JCR_PRIMARYTYPE, nodeType);
root.commit();
String suggUpdateTime1 = getSuggestionLastUpdated(indexDef);
@@ -198,13 +202,13 @@ public class SuggestionIntervalTest exte
//push a change which should not make any change in the index but would kick in suggestion logic
//YET, suggestion logic shouldn't do any change
root.getTree("/").addChild("some-non-index-change")
- .setProperty(JcrConstants.JCR_PRIMARYTYPE, "oak:Unstructured");
+ .setProperty(JcrConstants.JCR_PRIMARYTYPE, "oak:Unstructured");
root.commit();
String suggUpdateTime2 = getSuggestionLastUpdated(indexDef);
assertEquals("Suggestions shouldn't rebuild un-necessarily. Update times are different",
- suggUpdateTime1, suggUpdateTime2);
+ suggUpdateTime1, suggUpdateTime2);
}
private String getSuggestionLastUpdated(Tree indexDef) {
Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/TestUtil.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/TestUtil.java?rev=1841926&r1=1841925&r2=1841926&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/TestUtil.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/TestUtil.java Tue Sep 25 12:24:15 2018
@@ -19,6 +19,17 @@
package org.apache.jackrabbit.oak.plugins.index.lucene;
+import static com.google.common.base.Preconditions.checkNotNull;
+import static com.google.common.collect.ImmutableSet.of;
+import static org.apache.jackrabbit.JcrConstants.JCR_CONTENT;
+import static org.apache.jackrabbit.oak.api.Type.STRINGS;
+import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_DEFINITIONS_NAME;
+import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_DEFINITIONS_NODE_TYPE;
+import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.REINDEX_PROPERTY_NAME;
+import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.TYPE_PROPERTY_NAME;
+import static org.apache.jackrabbit.oak.plugins.index.lucene.FieldFactory.newPathField;
+import static org.apache.jackrabbit.oak.plugins.memory.PropertyStates.createProperty;
+
import java.io.IOException;
import java.util.List;
import java.util.Set;
@@ -38,8 +49,10 @@ import org.apache.jackrabbit.oak.api.Tre
import org.apache.jackrabbit.oak.api.Type;
import org.apache.jackrabbit.oak.commons.PathUtils;
import org.apache.jackrabbit.oak.plugins.index.IndexConstants;
-import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants.IndexingMode;
import org.apache.jackrabbit.oak.plugins.index.lucene.util.LuceneIndexHelper;
+import org.apache.jackrabbit.oak.plugins.index.search.FulltextIndexConstants;
+import org.apache.jackrabbit.oak.plugins.index.search.FulltextIndexConstants.IndexingMode;
+import org.apache.jackrabbit.oak.plugins.index.search.IndexFormatVersion;
import org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStore;
import org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState;
import org.apache.jackrabbit.oak.plugins.name.NamespaceEditorProvider;
@@ -62,42 +75,29 @@ import org.apache.lucene.store.IndexOutp
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.collect.ImmutableSet.of;
-import static org.apache.jackrabbit.JcrConstants.JCR_CONTENT;
-import static org.apache.jackrabbit.oak.api.Type.STRINGS;
-import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_DEFINITIONS_NAME;
-import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_DEFINITIONS_NODE_TYPE;
-import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.REINDEX_PROPERTY_NAME;
-import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.TYPE_PROPERTY_NAME;
-import static org.apache.jackrabbit.oak.plugins.index.lucene.FieldFactory.newPathField;
-import static org.apache.jackrabbit.oak.plugins.memory.PropertyStates.createProperty;
-
public class TestUtil {
private static final AtomicInteger COUNTER = new AtomicInteger();
public static final String NT_TEST = "oak:TestNode";
- public static final String TEST_NODE_TYPE = "[oak:TestNode]\n" +
- " - * (UNDEFINED) multiple\n" +
- " - * (UNDEFINED)\n" +
- " + * (nt:base) = oak:TestNode VERSION";
+ public static final String TEST_NODE_TYPE = "[oak:TestNode]\n" + " - * (UNDEFINED) multiple\n"
+ + " - * (UNDEFINED)\n" + " + * (nt:base) = oak:TestNode VERSION";
static void useV2(NodeBuilder idxNb) {
if (!IndexFormatVersion.getDefault().isAtLeast(IndexFormatVersion.V2)) {
- idxNb.setProperty(LuceneIndexConstants.COMPAT_MODE, IndexFormatVersion.V2.getVersion());
+ idxNb.setProperty(FulltextIndexConstants.COMPAT_MODE, IndexFormatVersion.V2.getVersion());
}
}
static void useV2(Tree idxTree) {
if (!IndexFormatVersion.getDefault().isAtLeast(IndexFormatVersion.V2)) {
- idxTree.setProperty(LuceneIndexConstants.COMPAT_MODE, IndexFormatVersion.V2.getVersion());
+ idxTree.setProperty(FulltextIndexConstants.COMPAT_MODE, IndexFormatVersion.V2.getVersion());
}
}
public static NodeBuilder newLuceneIndexDefinitionV2(
- @NotNull NodeBuilder index, @NotNull String name,
- @Nullable Set<String> propertyTypes) {
+ @NotNull NodeBuilder index, @NotNull String name,
+ @Nullable Set<String> propertyTypes) {
NodeBuilder nb = LuceneIndexHelper.newLuceneIndexDefinition(index, name, propertyTypes, null, null, null);
useV2(nb);
return nb;
@@ -107,49 +107,49 @@ public class TestUtil {
return enableForFullText(props, propName, false);
}
- public static Tree enableForFullText(Tree props, String propName, boolean regex) {
+ public static Tree enableForFullText(Tree props, String propName, boolean regex) {
Tree prop = props.addChild(unique("prop"));
- prop.setProperty(LuceneIndexConstants.PROP_NAME, propName);
- prop.setProperty(LuceneIndexConstants.PROP_PROPERTY_INDEX, true);
- prop.setProperty(LuceneIndexConstants.PROP_IS_REGEX, regex);
- prop.setProperty(LuceneIndexConstants.PROP_NODE_SCOPE_INDEX, true);
- prop.setProperty(LuceneIndexConstants.PROP_ANALYZED, true);
- prop.setProperty(LuceneIndexConstants.PROP_USE_IN_EXCERPT, true);
- prop.setProperty(LuceneIndexConstants.PROP_USE_IN_SPELLCHECK, true);
+ prop.setProperty(FulltextIndexConstants.PROP_NAME, propName);
+ prop.setProperty(FulltextIndexConstants.PROP_PROPERTY_INDEX, true);
+ prop.setProperty(FulltextIndexConstants.PROP_IS_REGEX, regex);
+ prop.setProperty(FulltextIndexConstants.PROP_NODE_SCOPE_INDEX, true);
+ prop.setProperty(FulltextIndexConstants.PROP_ANALYZED, true);
+ prop.setProperty(FulltextIndexConstants.PROP_USE_IN_EXCERPT, true);
+ prop.setProperty(FulltextIndexConstants.PROP_USE_IN_SPELLCHECK, true);
return prop;
}
-
+
public static Tree enableForOrdered(Tree props, String propName) {
Tree prop = enablePropertyIndex(props, propName, false);
prop.setProperty("ordered", true);
return prop;
}
- public static Tree enablePropertyIndex(Tree props, String propName, boolean regex) {
+ public static Tree enablePropertyIndex(Tree props, String propName, boolean regex) {
Tree prop = props.addChild(unique("prop"));
- prop.setProperty(LuceneIndexConstants.PROP_NAME, propName);
- prop.setProperty(LuceneIndexConstants.PROP_PROPERTY_INDEX, true);
- prop.setProperty(LuceneIndexConstants.PROP_IS_REGEX, regex);
- prop.setProperty(LuceneIndexConstants.PROP_NODE_SCOPE_INDEX, false);
- prop.setProperty(LuceneIndexConstants.PROP_ANALYZED, false);
+ prop.setProperty(FulltextIndexConstants.PROP_NAME, propName);
+ prop.setProperty(FulltextIndexConstants.PROP_PROPERTY_INDEX, true);
+ prop.setProperty(FulltextIndexConstants.PROP_IS_REGEX, regex);
+ prop.setProperty(FulltextIndexConstants.PROP_NODE_SCOPE_INDEX, false);
+ prop.setProperty(FulltextIndexConstants.PROP_ANALYZED, false);
return prop;
}
public static Tree enableFunctionIndex(Tree props, String function) {
Tree prop = props.addChild(unique("prop"));
- prop.setProperty(LuceneIndexConstants.PROP_FUNCTION, function);
+ prop.setProperty(FulltextIndexConstants.PROP_FUNCTION, function);
return prop;
}
- public static AggregatorBuilder newNodeAggregator(Tree indexDefn){
+ public static AggregatorBuilder newNodeAggregator(Tree indexDefn) {
return new AggregatorBuilder(indexDefn);
}
- public static Tree newRulePropTree(Tree indexDefn, String typeName){
- Tree rules = indexDefn.addChild(LuceneIndexConstants.INDEX_RULES);
+ public static Tree newRulePropTree(Tree indexDefn, String typeName) {
+ Tree rules = indexDefn.addChild(FulltextIndexConstants.INDEX_RULES);
rules.setOrderableChildren(true);
Tree rule = rules.addChild(typeName);
- Tree props = rule.addChild(LuceneIndexConstants.PROP_NODE);
+ Tree props = rule.addChild(FulltextIndexConstants.PROP_NODE);
props.setOrderableChildren(true);
return props;
}
@@ -161,7 +161,7 @@ public class TestUtil {
return nb;
}
- public static Document newDoc(String path){
+ public static Document newDoc(String path) {
Document doc = new Document();
doc.add(newPathField(path));
return doc;
@@ -171,54 +171,53 @@ public class TestUtil {
private final Tree aggs;
private AggregatorBuilder(Tree indexDefn) {
- this.aggs = indexDefn.addChild(LuceneIndexConstants.AGGREGATES);
+ this.aggs = indexDefn.addChild(FulltextIndexConstants.AGGREGATES);
}
- AggregatorBuilder newRuleWithName(String primaryType,
- List<String> includes){
+ AggregatorBuilder newRuleWithName(String primaryType, List<String> includes) {
Tree agg = aggs.addChild(primaryType);
- for (String include : includes){
- agg.addChild(unique("include")).setProperty(LuceneIndexConstants.AGG_PATH, include);
+ for (String include : includes) {
+ agg.addChild(unique("include")).setProperty(FulltextIndexConstants.AGG_PATH, include);
}
return this;
}
}
- static String unique(String name){
+ static String unique(String name) {
return name + COUNTER.getAndIncrement();
}
- public static NodeBuilder registerTestNodeType(NodeBuilder builder){
+ public static NodeBuilder registerTestNodeType(NodeBuilder builder) {
registerNodeType(builder, TEST_NODE_TYPE);
return builder;
}
- public static void registerNodeType(NodeBuilder builder, String nodeTypeDefn){
- //Taken from org.apache.jackrabbit.oak.plugins.nodetype.write.InitialContent
+ public static void registerNodeType(NodeBuilder builder, String nodeTypeDefn) {
+ // Taken from
+ // org.apache.jackrabbit.oak.plugins.nodetype.write.InitialContent
NodeState base = ModifiedNodeState.squeeze(builder.getNodeState());
NodeStore store = new MemoryNodeStore(base);
- Root root = RootFactory.createSystemRoot(
- store, new EditorHook(new CompositeEditorProvider(
- new NamespaceEditorProvider(),
- new TypeEditorProvider())), null, null, null);
+ Root root = RootFactory.createSystemRoot(store,
+ new EditorHook(new CompositeEditorProvider(new NamespaceEditorProvider(), new TypeEditorProvider())),
+ null, null, null);
NodeTypeRegistry.register(root, IOUtils.toInputStream(nodeTypeDefn), "test node types");
NodeState target = store.getRoot();
target.compareAgainstBaseState(base, new ApplyDiff(builder));
}
- public static Tree createNodeWithType(Tree t, String nodeName, String typeName){
+ public static Tree createNodeWithType(Tree t, String nodeName, String typeName) {
t = t.addChild(nodeName);
t.setProperty(JcrConstants.JCR_PRIMARYTYPE, typeName, Type.NAME);
return t;
}
- public static NodeBuilder createNodeWithType(NodeBuilder builder, String nodeName, String typeName){
+ public static NodeBuilder createNodeWithType(NodeBuilder builder, String nodeName, String typeName) {
builder = builder.child(nodeName);
builder.setProperty(JcrConstants.JCR_PRIMARYTYPE, typeName, Type.NAME);
return builder;
}
- public static Tree createFileNode(Tree tree, String name, Blob content, String mimeType){
+ public static Tree createFileNode(Tree tree, String name, Blob content, String mimeType) {
Tree fileNode = tree.addChild(name);
fileNode.setProperty(JcrConstants.JCR_PRIMARYTYPE, JcrConstants.NT_FILE, Type.NAME);
Tree jcrContent = fileNode.addChild(JCR_CONTENT);
@@ -233,7 +232,7 @@ public class TestUtil {
INDEX_DEFINITIONS_NODE_TYPE, Type.NAME);
def.setProperty(TYPE_PROPERTY_NAME, LuceneIndexConstants.TYPE_LUCENE);
def.setProperty(REINDEX_PROPERTY_NAME, true);
- def.setProperty(createProperty(LuceneIndexConstants.INCLUDE_PROPERTY_TYPES,
+ def.setProperty(createProperty(FulltextIndexConstants.INCLUDE_PROPERTY_TYPES,
of(PropertyType.TYPENAME_STRING, PropertyType.TYPENAME_BINARY), STRINGS));
return index.getChild(INDEX_DEFINITIONS_NAME).getChild(name);
}
@@ -244,12 +243,12 @@ public class TestUtil {
}
}
- public static NodeBuilder enableIndexingMode(NodeBuilder builder, IndexingMode indexingMode){
+ public static NodeBuilder enableIndexingMode(NodeBuilder builder, IndexingMode indexingMode) {
builder.setProperty(createAsyncProperty(indexingMode));
return builder;
}
- public static Tree enableIndexingMode(Tree tree, IndexingMode indexingMode){
+ public static Tree enableIndexingMode(Tree tree, IndexingMode indexingMode) {
tree.setProperty(createAsyncProperty(indexingMode));
return tree;
}
@@ -263,13 +262,13 @@ public class TestUtil {
}
private static PropertyState createAsyncProperty(String indexingMode) {
- return createProperty(IndexConstants.ASYNC_PROPERTY_NAME, of(indexingMode , "async"), STRINGS);
+ return createProperty(IndexConstants.ASYNC_PROPERTY_NAME, of(indexingMode, "async"), STRINGS);
}
private static PropertyState createAsyncProperty(IndexingMode indexingMode) {
- switch(indexingMode) {
- case NRT :
- case SYNC :
+ switch (indexingMode) {
+ case NRT:
+ case SYNC:
return createAsyncProperty(indexingMode.asyncValueName());
case ASYNC:
return createProperty(IndexConstants.ASYNC_PROPERTY_NAME, of("async"), STRINGS);
@@ -282,13 +281,13 @@ public class TestUtil {
public EditorProvider delegate;
@Override
- public Editor getRootEditor(NodeState before, NodeState after, NodeBuilder builder, CommitInfo info) throws CommitFailedException {
- if (delegate != null){
+ public Editor getRootEditor(NodeState before, NodeState after, NodeBuilder builder, CommitInfo info)
+ throws CommitFailedException {
+ if (delegate != null) {
return delegate.getRootEditor(before, after, builder, info);
}
return null;
}
-
}
}
Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/AbstractActiveDeletedBlobTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/AbstractActiveDeletedBlobTest.java?rev=1841926&r1=1841925&r2=1841926&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/AbstractActiveDeletedBlobTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/AbstractActiveDeletedBlobTest.java Tue Sep 25 12:24:15 2018
@@ -39,10 +39,11 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.plugins.blob.datastore.BlobTracker;
import org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate;
import org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier;
-import org.apache.jackrabbit.oak.plugins.index.lucene.IndexDefinition;
import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants;
import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditorProvider;
import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProvider;
+import org.apache.jackrabbit.oak.plugins.index.search.FulltextIndexConstants;
+import org.apache.jackrabbit.oak.plugins.index.search.IndexDefinition;
import org.apache.jackrabbit.oak.plugins.memory.PropertyStates;
import org.apache.jackrabbit.oak.query.AbstractQueryTest;
import org.apache.jackrabbit.oak.spi.blob.BlobOptions;
@@ -99,8 +100,8 @@ public abstract class AbstractActiveDele
def.setProperty(TYPE_PROPERTY_NAME, LuceneIndexConstants.TYPE_LUCENE);
def.setProperty(REINDEX_PROPERTY_NAME, true);
def.setProperty(ASYNC_PROPERTY_NAME, "async");
- def.setProperty(LuceneIndexConstants.FULL_TEXT_ENABLED, false);
- def.setProperty(PropertyStates.createProperty(LuceneIndexConstants.INCLUDE_PROPERTY_NAMES, propNames, Type.STRINGS));
+ def.setProperty(FulltextIndexConstants.FULL_TEXT_ENABLED, false);
+ def.setProperty(PropertyStates.createProperty(FulltextIndexConstants.INCLUDE_PROPERTY_NAMES, propNames, Type.STRINGS));
def.setProperty(LuceneIndexConstants.SAVE_DIR_LISTING, true);
return index.getChild(INDEX_DEFINITIONS_NAME).getChild(name);
}
Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ActiveDeletedBlobCollectionIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ActiveDeletedBlobCollectionIT.java?rev=1841926&r1=1841925&r2=1841926&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ActiveDeletedBlobCollectionIT.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ActiveDeletedBlobCollectionIT.java Tue Sep 25 12:24:15 2018
@@ -30,12 +30,12 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.plugins.document.mongo.MongoBlobStore;
import org.apache.jackrabbit.oak.plugins.document.util.MongoConnection;
import org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate;
-import org.apache.jackrabbit.oak.plugins.index.lucene.ExtractedTextCache;
import org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier;
-import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditorProvider;
-import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProvider;
import org.apache.jackrabbit.oak.plugins.index.lucene.directory.ActiveDeletedBlobCollectorFactory.ActiveDeletedBlobCollectorImpl;
+import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditorProvider;
+import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProvider;
+import org.apache.jackrabbit.oak.plugins.index.search.ExtractedTextCache;
import org.apache.jackrabbit.oak.spi.commit.Observer;
import org.apache.jackrabbit.oak.spi.mount.Mounts;
import org.apache.jackrabbit.oak.spi.query.QueryIndexProvider;
Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ActiveDeletedBlobSyncTrackerTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ActiveDeletedBlobSyncTrackerTest.java?rev=1841926&r1=1841925&r2=1841926&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ActiveDeletedBlobSyncTrackerTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ActiveDeletedBlobSyncTrackerTest.java Tue Sep 25 12:24:15 2018
@@ -31,12 +31,12 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore;
import org.apache.jackrabbit.oak.plugins.blob.datastore.OakFileDataStore;
import org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate;
-import org.apache.jackrabbit.oak.plugins.index.lucene.ExtractedTextCache;
import org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier;
-import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditorProvider;
-import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProvider;
import org.apache.jackrabbit.oak.plugins.index.lucene.directory.ActiveDeletedBlobCollectorFactory
.ActiveDeletedBlobCollectorImpl;
+import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditorProvider;
+import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProvider;
+import org.apache.jackrabbit.oak.plugins.index.search.ExtractedTextCache;
import org.apache.jackrabbit.oak.segment.SegmentNodeStoreBuilders;
import org.apache.jackrabbit.oak.segment.file.FileStore;
import org.apache.jackrabbit.oak.segment.file.FileStoreBuilder;
@@ -45,14 +45,12 @@ import org.apache.jackrabbit.oak.spi.com
import org.apache.jackrabbit.oak.spi.mount.Mounts;
import org.apache.jackrabbit.oak.spi.query.QueryIndexProvider;
import org.apache.jackrabbit.oak.spi.security.OpenSecurityProvider;
-import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import static com.google.common.collect.ImmutableSet.of;
import static com.google.common.collect.Lists.newArrayList;
-import static com.google.common.collect.Sets.intersection;
import static com.google.common.collect.Sets.newHashSet;
import static org.apache.jackrabbit.oak.spi.cluster.ClusterRepositoryInfo.getOrCreateId;
import static org.junit.Assert.assertEquals;
Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/BufferedOakDirectoryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/BufferedOakDirectoryTest.java?rev=1841926&r1=1841925&r2=1841926&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/BufferedOakDirectoryTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/BufferedOakDirectoryTest.java Tue Sep 25 12:24:15 2018
@@ -28,7 +28,7 @@ import com.google.common.collect.Sets;
import org.apache.commons.io.FileUtils;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.commons.junit.LogCustomizer;
-import org.apache.jackrabbit.oak.plugins.index.lucene.IndexDefinition;
+import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexDefinition;
import org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
@@ -38,10 +38,10 @@ import org.apache.lucene.store.IndexInpu
import org.apache.lucene.store.IndexOutput;
import org.junit.Test;
-import static org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants.INDEX_DATA_CHILD_NAME;
import static org.apache.jackrabbit.oak.plugins.index.lucene.directory.BufferedOakDirectory.DELETE_THRESHOLD_UNTIL_REOPEN;
import static org.apache.jackrabbit.oak.plugins.index.lucene.directory.BufferedOakDirectory.ENABLE_WRITING_SINGLE_BLOB_INDEX_FILE_PARAM;
import static org.apache.jackrabbit.oak.plugins.index.lucene.directory.BufferedOakDirectory.reReadCommandLineParam;
+import static org.apache.jackrabbit.oak.plugins.index.search.FulltextIndexConstants.INDEX_DATA_CHILD_NAME;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -405,7 +405,7 @@ public class BufferedOakDirectoryTest {
}
private Directory createDir(NodeBuilder builder, boolean buffered) {
- IndexDefinition def = new IndexDefinition(root, builder.getNodeState(), "/foo");
+ LuceneIndexDefinition def = new LuceneIndexDefinition(root, builder.getNodeState(), "/foo");
if (buffered) {
return new BufferedOakDirectory(builder, INDEX_DATA_CHILD_NAME, def, null);
} else {
Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ChunkedOakDirectoryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ChunkedOakDirectoryTest.java?rev=1841926&r1=1841925&r2=1841926&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ChunkedOakDirectoryTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ChunkedOakDirectoryTest.java Tue Sep 25 12:24:15 2018
@@ -22,8 +22,8 @@ package org.apache.jackrabbit.oak.plugin
import org.apache.commons.io.IOUtils;
import org.apache.jackrabbit.oak.api.Blob;
import org.apache.jackrabbit.oak.api.PropertyState;
-import org.apache.jackrabbit.oak.plugins.index.lucene.IndexDefinition;
-import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants;
+import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexDefinition;
+import org.apache.jackrabbit.oak.plugins.index.search.FulltextIndexConstants;
import org.apache.jackrabbit.oak.segment.SegmentNodeStore;
import org.apache.jackrabbit.oak.segment.SegmentNodeStoreBuilders;
import org.apache.jackrabbit.oak.segment.SegmentTestConstants;
@@ -54,7 +54,7 @@ public class ChunkedOakDirectoryTest ext
@Test
public void writes_CustomBlobSize() throws Exception{
- builder.setProperty(LuceneIndexConstants.BLOB_SIZE, 300);
+ builder.setProperty(FulltextIndexConstants.BLOB_SIZE, 300);
Directory dir = createDir(builder, false, "/foo");
assertWrites(dir, 300);
}
@@ -74,7 +74,7 @@ public class ChunkedOakDirectoryTest ext
int blobSize = minFileSize + 1000;
builder = nodeStore.getRoot().builder();
- builder.setProperty(LuceneIndexConstants.BLOB_SIZE, blobSize);
+ builder.setProperty(FulltextIndexConstants.BLOB_SIZE, blobSize);
Directory dir = createDir(builder, false, indexPath);
IndexOutput o3 = dir.createOutput("test1.txt", IOContext.DEFAULT);
@@ -99,7 +99,7 @@ public class ChunkedOakDirectoryTest ext
}
@Override
- OakDirectoryBuilder getOakDirectoryBuilder(NodeBuilder builder, IndexDefinition indexDefinition) {
+ OakDirectoryBuilder getOakDirectoryBuilder(NodeBuilder builder, LuceneIndexDefinition indexDefinition) {
return new OakDirectoryBuilder(builder, indexDefinition, false);
}
Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/CopyOnWriteDirectoryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/CopyOnWriteDirectoryTest.java?rev=1841926&r1=1841925&r2=1841926&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/CopyOnWriteDirectoryTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/CopyOnWriteDirectoryTest.java Tue Sep 25 12:24:15 2018
@@ -31,8 +31,7 @@ import com.google.common.io.Closer;
import org.apache.jackrabbit.oak.plugins.document.DocumentMKBuilderProvider;
import org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore;
import org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier;
-import org.apache.jackrabbit.oak.plugins.index.lucene.IndexDefinition;
-import org.apache.jackrabbit.oak.plugins.index.lucene.writer.IndexWriterUtils;
+import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexDefinition;
import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
@@ -40,19 +39,16 @@ import org.apache.lucene.store.Directory
import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.IndexOutput;
import org.junit.After;
-import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
-import static org.apache.jackrabbit.oak.plugins.index.lucene.IndexDefinition.PROP_UID;
-import static org.apache.jackrabbit.oak.plugins.index.lucene.IndexDefinition.STATUS_NODE;
-import static org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants.INDEX_DATA_CHILD_NAME;
import static org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants.SUGGEST_DATA_CHILD_NAME;
-import static org.junit.Assert.assertEquals;
+import static org.apache.jackrabbit.oak.plugins.index.search.FulltextIndexConstants.INDEX_DATA_CHILD_NAME;
+import static org.apache.jackrabbit.oak.plugins.index.search.IndexDefinition.PROP_UID;
+import static org.apache.jackrabbit.oak.plugins.index.search.IndexDefinition.STATUS_NODE;
import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
@@ -98,7 +94,7 @@ public class CopyOnWriteDirectoryTest {
// OAK-5238
@Test
public void copyOnWrite() throws Exception {
- IndexDefinition def = new IndexDefinition(ns.getRoot(), ns.getRoot(), "/foo");
+ LuceneIndexDefinition def = new LuceneIndexDefinition(ns.getRoot(), ns.getRoot(), "/foo");
NodeBuilder builder = ns.getRoot().builder();
Directory dir = new DefaultDirectoryFactory(copier, null).newInstance(def, builder.child("foo"), INDEX_DATA_CHILD_NAME, false);
addFiles(dir);
@@ -114,7 +110,7 @@ public class CopyOnWriteDirectoryTest {
try {
NodeBuilder builder = ns.getRoot().builder().child("foo");
- IndexDefinition def = new IndexDefinition(ns.getRoot(), builder.getNodeState(), "/foo");
+ LuceneIndexDefinition def = new LuceneIndexDefinition(ns.getRoot(), builder.getNodeState(), "/foo");
Directory dir = new DefaultDirectoryFactory(copier, null).newInstance(def, builder.child("foo"), INDEX_DATA_CHILD_NAME, false);
Directory suggestDir = new DefaultDirectoryFactory(copier, null).newInstance(def, builder.child("foo"), SUGGEST_DATA_CHILD_NAME, false);
@@ -125,7 +121,7 @@ public class CopyOnWriteDirectoryTest {
assertFalse("Suggester directory COW-wrapped", suggestDir instanceof CopyOnWriteDirectory);
builder.child(STATUS_NODE).setProperty(PROP_UID, "some_random_string");
- def = new IndexDefinition(ns.getRoot(), builder.getNodeState(), "/foo");
+ def = new LuceneIndexDefinition(ns.getRoot(), builder.getNodeState(), "/foo");
assertNotNull("Synthetic UID not read by definition", def.getUniqueId());
Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/FSDirectoryFactoryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/FSDirectoryFactoryTest.java?rev=1841926&r1=1841925&r2=1841926&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/FSDirectoryFactoryTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/FSDirectoryFactoryTest.java Tue Sep 25 12:24:15 2018
@@ -25,7 +25,7 @@ import java.util.List;
import java.util.stream.Collectors;
import org.apache.commons.io.filefilter.DirectoryFileFilter;
-import org.apache.jackrabbit.oak.plugins.index.lucene.IndexDefinition;
+import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexDefinition;
import org.apache.jackrabbit.oak.plugins.index.lucene.util.IndexDefinitionBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
@@ -48,7 +48,7 @@ public class FSDirectoryFactoryTest {
@Test
public void singleIndex() throws Exception{
- IndexDefinition defn = IndexDefinition.newBuilder(root, idx.getNodeState(), "/fooIndex").build();
+ LuceneIndexDefinition defn = LuceneIndexDefinition.newBuilder(root, idx.getNodeState(), "/fooIndex").build();
FSDirectoryFactory factory = new FSDirectoryFactory(temporaryFolder.getRoot());
Directory dir = factory.newInstance(defn, idx, ":data", false);
@@ -64,8 +64,8 @@ public class FSDirectoryFactoryTest {
@Test
public void multiIndexWithSimilarPaths() throws Exception{
- IndexDefinition defn1 = IndexDefinition.newBuilder(root, idx.getNodeState(), "/content/a/en_us/oak:index/fooIndex").build();
- IndexDefinition defn2 = IndexDefinition.newBuilder(root, idx.getNodeState(), "/content/b/en_us/oak:index/fooIndex").build();
+ LuceneIndexDefinition defn1 = LuceneIndexDefinition.newBuilder(root, idx.getNodeState(), "/content/a/en_us/oak:index/fooIndex").build();
+ LuceneIndexDefinition defn2 = LuceneIndexDefinition.newBuilder(root, idx.getNodeState(), "/content/b/en_us/oak:index/fooIndex").build();
FSDirectoryFactory factory = new FSDirectoryFactory(temporaryFolder.getRoot());
factory.newInstance(defn1, idx, ":data", false).close();
@@ -81,7 +81,7 @@ public class FSDirectoryFactoryTest {
@Test
public void reuseExistingDir() throws Exception{
- IndexDefinition defn = IndexDefinition.newBuilder(root, idx.getNodeState(), "/fooIndex").build();
+ LuceneIndexDefinition defn = LuceneIndexDefinition.newBuilder(root, idx.getNodeState(), "/fooIndex").build();
FSDirectoryFactory factory = new FSDirectoryFactory(temporaryFolder.getRoot());
Directory dir = factory.newInstance(defn, idx, ":data", false);
@@ -98,7 +98,7 @@ public class FSDirectoryFactoryTest {
@Test
public void directoryMapping() throws Exception{
- IndexDefinition defn = IndexDefinition.newBuilder(root, idx.getNodeState(), "/fooIndex").build();
+ LuceneIndexDefinition defn = LuceneIndexDefinition.newBuilder(root, idx.getNodeState(), "/fooIndex").build();
FSDirectoryFactory factory = new FSDirectoryFactory(temporaryFolder.getRoot());
Directory dir1 = factory.newInstance(defn, idx, ":data", false);
Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexConsistencyCheckerTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexConsistencyCheckerTest.java?rev=1841926&r1=1841925&r2=1841926&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexConsistencyCheckerTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexConsistencyCheckerTest.java Tue Sep 25 12:24:15 2018
@@ -30,12 +30,13 @@ import org.apache.commons.io.IOUtils;
import org.apache.jackrabbit.oak.InitialContentHelper;
import org.apache.jackrabbit.oak.api.Blob;
import org.apache.jackrabbit.oak.api.Type;
-import org.apache.jackrabbit.oak.plugins.index.lucene.IndexDefinition;
+import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexDefinition;
import org.apache.jackrabbit.oak.plugins.index.lucene.OakAnalyzer;
import org.apache.jackrabbit.oak.plugins.index.lucene.directory.IndexConsistencyChecker.Level;
import org.apache.jackrabbit.oak.plugins.index.lucene.directory.IndexConsistencyChecker.Result;
import org.apache.jackrabbit.oak.plugins.index.lucene.util.IndexDefinitionBuilder;
import org.apache.jackrabbit.oak.plugins.index.lucene.writer.MultiplexersLucene;
+import org.apache.jackrabbit.oak.plugins.index.search.IndexDefinition;
import org.apache.jackrabbit.oak.plugins.memory.ArrayBasedBlob;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
@@ -118,7 +119,7 @@ public class IndexConsistencyCheckerTest
@Test
public void validIndexTest() throws Exception{
- IndexDefinition defn = IndexDefinition.newBuilder(rootState, idx.getNodeState(), "/fooIndex").build();
+ LuceneIndexDefinition defn = LuceneIndexDefinition.newBuilder(rootState, idx.getNodeState(), "/fooIndex").build();
Directory dir = new OakDirectory(idx, ":data", defn, false);
createIndex(dir, 10);
@@ -143,7 +144,7 @@ public class IndexConsistencyCheckerTest
@Test
public void missingFile() throws Exception{
- IndexDefinition defn = IndexDefinition.newBuilder(rootState, idx.getNodeState(), "/fooIndex").build();
+ LuceneIndexDefinition defn = LuceneIndexDefinition.newBuilder(rootState, idx.getNodeState(), "/fooIndex").build();
Directory dir = new OakDirectory(idx, ":data", defn, false);
createIndex(dir, 10);
@@ -165,7 +166,7 @@ public class IndexConsistencyCheckerTest
@Test
public void badFile() throws Exception{
- IndexDefinition defn = IndexDefinition.newBuilder(rootState, idx.getNodeState(), "/fooIndex").build();
+ LuceneIndexDefinition defn = LuceneIndexDefinition.newBuilder(rootState, idx.getNodeState(), "/fooIndex").build();
Directory dir = new OakDirectory(idx, ":data", defn, false);
createIndex(dir, 10);
Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexRootDirectoryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexRootDirectoryTest.java?rev=1841926&r1=1841925&r2=1841926&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexRootDirectoryTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexRootDirectoryTest.java Tue Sep 25 12:24:15 2018
@@ -26,7 +26,7 @@ import java.util.List;
import com.google.common.base.Strings;
import org.apache.commons.io.FileUtils;
import org.apache.jackrabbit.oak.plugins.index.IndexConstants;
-import org.apache.jackrabbit.oak.plugins.index.lucene.IndexDefinition;
+import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexDefinition;
import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditorContext;
import org.apache.jackrabbit.oak.plugins.index.lucene.hybrid.NRTIndex;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
@@ -220,8 +220,8 @@ public class IndexRootDirectoryTest {
LuceneIndexEditorContext.configureUniqueId(resetBuilder());
}
- private IndexDefinition getDefn(){
- return new IndexDefinition(root, builder.getNodeState(), "/foo");
+ private LuceneIndexDefinition getDefn(){
+ return new LuceneIndexDefinition(root, builder.getNodeState(), "/foo");
}
private static LocalIndexDir getDir(String jcrPath, List<LocalIndexDir> dirs){
Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/LuceneIndexDumperTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/LuceneIndexDumperTest.java?rev=1841926&r1=1841925&r2=1841926&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/LuceneIndexDumperTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/LuceneIndexDumperTest.java Tue Sep 25 12:24:15 2018
@@ -22,7 +22,7 @@ package org.apache.jackrabbit.oak.plugin
import java.io.File;
import org.apache.jackrabbit.oak.InitialContentHelper;
-import org.apache.jackrabbit.oak.plugins.index.lucene.IndexDefinition;
+import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexDefinition;
import org.apache.jackrabbit.oak.plugins.index.lucene.util.IndexDefinitionBuilder;
import org.apache.jackrabbit.oak.plugins.index.lucene.writer.MultiplexersLucene;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
@@ -46,7 +46,7 @@ public class LuceneIndexDumperTest {
@Test
public void directoryDump() throws Exception{
- IndexDefinition defn = IndexDefinition.newBuilder(rootState, idx.getNodeState(), "/fooIndex").build();
+ LuceneIndexDefinition defn = LuceneIndexDefinition.newBuilder(rootState, idx.getNodeState(), "/fooIndex").build();
long size = 0;
Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/LuceneIndexImporterTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/LuceneIndexImporterTest.java?rev=1841926&r1=1841925&r2=1841926&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/LuceneIndexImporterTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/LuceneIndexImporterTest.java Tue Sep 25 12:24:15 2018
@@ -27,7 +27,7 @@ import java.util.Set;
import com.google.common.collect.ImmutableSet;
import org.apache.jackrabbit.oak.InitialContentHelper;
-import org.apache.jackrabbit.oak.plugins.index.lucene.IndexDefinition;
+import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexDefinition;
import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditorContext;
import org.apache.jackrabbit.oak.plugins.index.lucene.util.IndexDefinitionBuilder;
import org.apache.jackrabbit.oak.plugins.index.lucene.writer.MultiplexersLucene;
@@ -41,9 +41,9 @@ import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
-import static org.apache.jackrabbit.oak.plugins.index.lucene.IndexDefinition.PROP_UID;
-import static org.apache.jackrabbit.oak.plugins.index.lucene.IndexDefinition.STATUS_NODE;
import static org.apache.jackrabbit.oak.plugins.index.lucene.TestUtil.createFile;
+import static org.apache.jackrabbit.oak.plugins.index.search.IndexDefinition.PROP_UID;
+import static org.apache.jackrabbit.oak.plugins.index.search.IndexDefinition.STATUS_NODE;
import static org.junit.Assert.*;
public class LuceneIndexImporterTest {
@@ -56,7 +56,7 @@ public class LuceneIndexImporterTest {
@Test
public void exportAndImport() throws Exception{
NodeState baseIndexState = idx.getNodeState();
- IndexDefinition defn = IndexDefinition.newBuilder(rootState, baseIndexState, "/oak:index/fooIndex").build();
+ LuceneIndexDefinition defn = LuceneIndexDefinition.newBuilder(rootState, baseIndexState, "/oak:index/fooIndex").build();
LuceneIndexEditorContext.configureUniqueId(idx);
@@ -101,7 +101,7 @@ public class LuceneIndexImporterTest {
assertNotNull(importedUid);
}
- private static void assertDirectoryEquals(IndexDefinition defn, NodeState expected, NodeState actual, String dirName) throws IOException {
+ private static void assertDirectoryEquals(LuceneIndexDefinition defn, NodeState expected, NodeState actual, String dirName) throws IOException {
OakDirectory dir1 = new OakDirectory(new ReadOnlyBuilder(expected), dirName, defn, true);
OakDirectory dir2 = new OakDirectory(new ReadOnlyBuilder(actual), dirName, defn, true);
assertDirectoryEquals(dir1, dir2);