Added rest tests for analysis-phonetic plugin

This commit is contained in:
Clinton Gormley 2015-07-07 18:47:59 +02:00
parent d57de59158
commit eefb3cf41c
5 changed files with 139 additions and 2 deletions

View File

@ -15,8 +15,9 @@
<description>The Phonetic Analysis plugin integrates phonetic token filter analysis with elasticsearch.</description>
<properties>
<!-- You can add any specific project property here -->
</properties>
<tests.rest.suite>analysis_phonetic</tests.rest.suite>
<tests.rest.load_packaged>false</tests.rest.load_packaged>
</properties>
<dependencies>
<dependency>

View File

@ -0,0 +1,33 @@
# Integration tests for Phonetic analysis components
#
"Metaphone":
- do:
indices.create:
index: phonetic_sample
body:
settings:
index:
analysis:
analyzer:
my_analyzer:
tokenizer: standard
filter: ["standard", "lowercase", "my_metaphone"]
filter:
my_metaphone:
type: phonetic
encoder: metaphone
replace: false
- do:
indices.analyze:
index: phonetic_sample
analyzer: my_analyzer
text: Joe Bloggs
- length: { tokens: 4 }
- match: { tokens.0.token: J }
- match: { tokens.1.token: joe }
- match: { tokens.2.token: BLKS }
- match: { tokens.3.token: bloggs }

View File

@ -0,0 +1,30 @@
# Integration tests for Phonetic analysis components
#
"Double Metaphone":
- do:
indices.create:
index: phonetic_sample
body:
settings:
index:
analysis:
analyzer:
my_analyzer:
tokenizer: standard
filter: ["standard", "lowercase", "my_metaphone"]
filter:
my_metaphone:
type: phonetic
encoder: double_metaphone
max_code_len: 6
- do:
indices.analyze:
index: phonetic_sample
analyzer: my_analyzer
text: supercalifragilisticexpialidocious
- length: { tokens: 1 }
- match: { tokens.0.token: SPRKLF }

View File

@ -0,0 +1,32 @@
# Integration tests for Phonetic analysis components
#
"Double Metaphone":
- do:
indices.create:
index: phonetic_sample
body:
settings:
index:
analysis:
analyzer:
my_analyzer:
tokenizer: standard
filter: ["standard", "lowercase", "beider_morse"]
filter:
beider_morse:
type: phonetic
encoder: beider_morse
rule_type: exact
name_type: ashkenazi
languageset: polish
- do:
indices.analyze:
index: phonetic_sample
analyzer: my_analyzer
text: Szwarc
- length: { tokens: 1 }
- match: { tokens.0.token: Svarts }

View File

@ -0,0 +1,41 @@
/*
* Licensed to Elasticsearch under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch 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.elasticsearch.index.analysis;
import com.carrotsearch.randomizedtesting.annotations.Name;
import com.carrotsearch.randomizedtesting.annotations.ParametersFactory;
import org.elasticsearch.test.rest.ElasticsearchRestTestCase;
import org.elasticsearch.test.rest.RestTestCandidate;
import org.elasticsearch.test.rest.parser.RestTestParseException;
import java.io.IOException;
public class AnalysisPhoneticRestIT extends ElasticsearchRestTestCase {
public AnalysisPhoneticRestIT(@Name("yaml") RestTestCandidate testCandidate) {
super(testCandidate);
}
@ParametersFactory
public static Iterable<Object[]> parameters() throws IOException, RestTestParseException {
return ElasticsearchRestTestCase.createParameters(0, 1);
}
}