You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by as...@apache.org on 2015/11/11 22:23:44 UTC
[12/50] [abbrv] incubator-geode git commit: add tests for analyzer
specify LuceneSerialier for RepositoryManager
add tests for analyzer
specify LuceneSerialier for RepositoryManager
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/58f13e26
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/58f13e26
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/58f13e26
Branch: refs/heads/develop
Commit: 58f13e2659e3f0ed8d3feac927bbadde363f1fb5
Parents: db5db7a
Author: zhouxh <gz...@pivotal.io>
Authored: Wed Sep 23 11:49:09 2015 -0700
Committer: zhouxh <gz...@pivotal.io>
Committed: Wed Sep 23 12:09:31 2015 -0700
----------------------------------------------------------------------
.../LuceneIndexForPartitionedRegion.java | 4 +-
.../internal/LuceneServiceImplJUnitTest.java | 43 ++++++++++++++++++++
2 files changed, 46 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/58f13e26/gemfire-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/LuceneIndexForPartitionedRegion.java
----------------------------------------------------------------------
diff --git a/gemfire-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/LuceneIndexForPartitionedRegion.java b/gemfire-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/LuceneIndexForPartitionedRegion.java
index cbab401..1eff49a 100644
--- a/gemfire-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/LuceneIndexForPartitionedRegion.java
+++ b/gemfire-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/LuceneIndexForPartitionedRegion.java
@@ -20,6 +20,7 @@ import com.gemstone.gemfire.cache.lucene.LuceneIndex;
import com.gemstone.gemfire.cache.lucene.internal.filesystem.ChunkKey;
import com.gemstone.gemfire.cache.lucene.internal.filesystem.File;
import com.gemstone.gemfire.cache.lucene.internal.repository.IndexRepository;
+import com.gemstone.gemfire.cache.lucene.internal.repository.serializer.HeterogenousLuceneSerializer;
import com.gemstone.gemfire.cache.lucene.internal.repository.serializer.LuceneSerializer;
import com.gemstone.gemfire.cache.partition.PartitionRegionHelper;
import com.gemstone.gemfire.internal.cache.PartitionedRegion;
@@ -94,7 +95,8 @@ public class LuceneIndexForPartitionedRegion extends LuceneIndexImpl {
}
// we will create RegionDirectorys on the fly when data coming
- repositoryManager = new PartitionedRepositoryManager(dataRegion, (PartitionedRegion)fileRegion, (PartitionedRegion)chunkRegion, null, analyzer);
+ HeterogenousLuceneSerializer mapper = new HeterogenousLuceneSerializer(getFieldNames());
+ repositoryManager = new PartitionedRepositoryManager(dataRegion, (PartitionedRegion)fileRegion, (PartitionedRegion)chunkRegion, mapper, analyzer);
hasInitialized = true;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/58f13e26/gemfire-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/LuceneServiceImplJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/LuceneServiceImplJUnitTest.java b/gemfire-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/LuceneServiceImplJUnitTest.java
index 65fad5d..a7ed00d 100644
--- a/gemfire-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/LuceneServiceImplJUnitTest.java
+++ b/gemfire-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/LuceneServiceImplJUnitTest.java
@@ -6,8 +6,13 @@ import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
import org.apache.logging.log4j.Logger;
+import org.apache.lucene.analysis.Analyzer;
+import org.apache.lucene.analysis.core.KeywordAnalyzer;
+import org.apache.lucene.analysis.miscellaneous.PerFieldAnalyzerWrapper;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.queryparser.classic.ParseException;
@@ -23,6 +28,7 @@ import com.gemstone.gemfire.cache.execute.Function;
import com.gemstone.gemfire.cache.execute.FunctionService;
import com.gemstone.gemfire.cache.lucene.LuceneServiceProvider;
import com.gemstone.gemfire.cache.lucene.internal.distributed.LuceneFunction;
+import com.gemstone.gemfire.cache.lucene.internal.repository.RepositoryManager;
import com.gemstone.gemfire.cache.lucene.internal.repository.serializer.HeterogenousLuceneSerializer;
import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
import com.gemstone.gemfire.internal.cache.LocalRegion;
@@ -124,6 +130,10 @@ public class LuceneServiceImplJUnitTest {
assertEquals("PR1", index1.getRegionPath());
String[] fields1 = index1.getFieldNames();
assertEquals(3, fields1.length);
+ Analyzer analyzer = index1PR.getAnalyzer();
+ assertTrue(analyzer instanceof StandardAnalyzer);
+ RepositoryManager RepositoryManager = index1PR.getRepositoryManager();
+ assertTrue(RepositoryManager != null);
final String fileRegionName = LuceneServiceImpl.getUniqueIndexName("index1", "PR1")+".files";
final String chunkRegionName = LuceneServiceImpl.getUniqueIndexName("index1", "PR1")+".chunks";
@@ -134,6 +144,39 @@ public class LuceneServiceImplJUnitTest {
}
@Test
+ public void testCreateIndexForPRWithAnalyzer() throws IOException, ParseException {
+ getService();
+ createPR("PR1", false);
+ StandardAnalyzer sa = new StandardAnalyzer();
+ KeywordAnalyzer ka = new KeywordAnalyzer();
+ Map<String, Analyzer> analyzerPerField = new HashMap<String, Analyzer>();
+ analyzerPerField.put("field1", ka);
+ analyzerPerField.put("field2", sa);
+ analyzerPerField.put("field3", sa);
+ // field2 and field3 will use StandardAnalyzer
+ PerFieldAnalyzerWrapper analyzer2 = new PerFieldAnalyzerWrapper(sa, analyzerPerField);
+
+ LuceneIndexImpl index1 = (LuceneIndexImpl)service.createIndex("index1", "PR1", analyzerPerField);
+ assertTrue(index1 instanceof LuceneIndexForPartitionedRegion);
+ LuceneIndexForPartitionedRegion index1PR = (LuceneIndexForPartitionedRegion)index1;
+ assertEquals("index1", index1.getName());
+ assertEquals("PR1", index1.getRegionPath());
+ String[] fields1 = index1.getFieldNames();
+ assertEquals(3, fields1.length);
+ Analyzer analyzer = index1PR.getAnalyzer();
+ assertTrue(analyzer instanceof PerFieldAnalyzerWrapper);
+ RepositoryManager RepositoryManager = index1PR.getRepositoryManager();
+ assertTrue(RepositoryManager != null);
+
+ final String fileRegionName = LuceneServiceImpl.getUniqueIndexName("index1", "PR1")+".files";
+ final String chunkRegionName = LuceneServiceImpl.getUniqueIndexName("index1", "PR1")+".chunks";
+ PartitionedRegion filePR = (PartitionedRegion)cache.getRegion(fileRegionName);
+ PartitionedRegion chunkPR = (PartitionedRegion)cache.getRegion(chunkRegionName);
+ assertTrue(filePR != null);
+ assertTrue(chunkPR != null);
+ }
+
+ @Test
public void testCreateIndexForRR() throws IOException, ParseException {
// service.createIndex("index1", "RR1", "field1", "field2", "field3");