You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by kl...@apache.org on 2017/08/01 21:03:01 UTC
[07/50] [abbrv] geode git commit: GEODE-3291: add soundex analyzer
into lucene query This closes #654
GEODE-3291: add soundex analyzer into lucene query
This closes #654
Project: http://git-wip-us.apache.org/repos/asf/geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/289a0857
Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/289a0857
Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/289a0857
Branch: refs/heads/feature/GEODE-3299
Commit: 289a0857f5822aee89d78625d226d5765fac8d40
Parents: eb7d2ea
Author: zhouxh <gz...@pivotal.io>
Authored: Mon Jul 24 14:27:42 2017 -0700
Committer: zhouxh <gz...@pivotal.io>
Committed: Tue Jul 25 22:28:38 2017 -0700
----------------------------------------------------------------------
geode-assembly/build.gradle | 1 +
.../src/test/resources/expected_jars.txt | 1 +
geode-lucene/build.gradle | 1 +
.../lucene/LuceneQueriesIntegrationTest.java | 36 ++++++++++++++++++++
4 files changed, 39 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/geode/blob/289a0857/geode-assembly/build.gradle
----------------------------------------------------------------------
diff --git a/geode-assembly/build.gradle b/geode-assembly/build.gradle
index 02c9e33..69f1f19 100755
--- a/geode-assembly/build.gradle
+++ b/geode-assembly/build.gradle
@@ -195,6 +195,7 @@ def cp = {
it.contains('lucene-core') ||
it.contains('lucene-queries') ||
it.contains('lucene-queryparser') ||
+ it.contains('lucene-analyzers-phonetic') ||
// dependencies from geode-protobuf
it.contains('protobuf-java')
http://git-wip-us.apache.org/repos/asf/geode/blob/289a0857/geode-assembly/src/test/resources/expected_jars.txt
----------------------------------------------------------------------
diff --git a/geode-assembly/src/test/resources/expected_jars.txt b/geode-assembly/src/test/resources/expected_jars.txt
index 05f5834..a082539 100644
--- a/geode-assembly/src/test/resources/expected_jars.txt
+++ b/geode-assembly/src/test/resources/expected_jars.txt
@@ -46,6 +46,7 @@ lucene-analyzers-common
lucene-core
lucene-queries
lucene-queryparser
+lucene-analyzers-phonetic
mx4j
mx4j-remote
mx4j-tools
http://git-wip-us.apache.org/repos/asf/geode/blob/289a0857/geode-lucene/build.gradle
----------------------------------------------------------------------
diff --git a/geode-lucene/build.gradle b/geode-lucene/build.gradle
index 74de7a6..66061aa 100644
--- a/geode-lucene/build.gradle
+++ b/geode-lucene/build.gradle
@@ -22,6 +22,7 @@ dependencies {
compile 'org.apache.lucene:lucene-analyzers-common:' + project.'lucene.version'
compile 'org.apache.lucene:lucene-core:' + project.'lucene.version'
compile 'org.apache.lucene:lucene-queries:' + project.'lucene.version'
+ compile ('org.apache.lucene:lucene-analyzers-phonetic:' + project.'lucene.version')
compile ('org.apache.lucene:lucene-queryparser:' + project.'lucene.version') {
exclude module: 'lucene-sandbox'
}
http://git-wip-us.apache.org/repos/asf/geode/blob/289a0857/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneQueriesIntegrationTest.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneQueriesIntegrationTest.java b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneQueriesIntegrationTest.java
index 3c0b10d..fb86e19 100644
--- a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneQueriesIntegrationTest.java
+++ b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneQueriesIntegrationTest.java
@@ -145,6 +145,42 @@ public class LuceneQueriesIntegrationTest extends LuceneIntegrationTest {
"primitiveInt2");
}
+ @Test()
+ public void shouldQueryUsingSoundexAnalyzer() throws Exception {
+ Map<String, Analyzer> fields = new HashMap<String, Analyzer>();
+ fields.put("field1", new StandardAnalyzer());
+ fields.put("field2", new DoubleMetaphoneAnalyzer());
+ luceneService.createIndexFactory().setFields(fields).create(INDEX_NAME, REGION_NAME);
+ Region region = cache.createRegionFactory(RegionShortcut.PARTITION).create(REGION_NAME);
+ final LuceneIndex index = luceneService.getIndex(INDEX_NAME, REGION_NAME);
+
+ // Put two values with some of the same tokens
+ String value1 = "Stefan";
+ String value2 = "Steph";
+ String value3 = "Stephen";
+ String value4 = "Steve";
+ String value5 = "Steven";
+ String value6 = "Stove";
+ String value7 = "Stuffin";
+
+ region.put("A", new TestObject(value1, value1));
+ region.put("B", new TestObject(value2, value2));
+ region.put("C", new TestObject(value3, value3));
+ region.put("D", new TestObject(value4, value4));
+ region.put("E", new TestObject(value5, value5));
+ region.put("F", new TestObject(value6, value6));
+ region.put("G", new TestObject(value7, value7));
+
+ luceneService.waitUntilFlushed(INDEX_NAME, REGION_NAME, 60000, TimeUnit.MILLISECONDS);
+ // soundex search
+ verifyQuery("field2:Stephen", DEFAULT_FIELD, "A", "C", "E", "G");
+
+ // compare with Ste* search on soundex analyzer will not find anything
+ // but on standard analyzer will find 5 matchs
+ verifyQuery("field2:Ste*", DEFAULT_FIELD);
+ verifyQuery("field1:Ste*", DEFAULT_FIELD, "A", "B", "C", "D", "E");
+ }
+
@Ignore
@Test()
public void queryParserCannotQueryByRange() throws Exception {