Add integration tests for smart chinese

This commit is contained in:
Robert Muir 2015-07-07 01:14:39 -04:00
parent f412c5a6ed
commit 5bcc247eda
4 changed files with 72 additions and 2 deletions

View File

@ -1,4 +1,4 @@
# Integration tests for ICU analysis components
# Integration tests for Kuromoji analysis components
#
"Tokenizer":
- do:

View File

@ -15,7 +15,8 @@
<description>Smart Chinese Analysis plugin integrates Lucene Smart Chinese analysis module into elasticsearch.</description>
<properties>
<!-- You can add any specific project property here -->
<tests.rest.suite>analysis_smartcn</tests.rest.suite>
<tests.rest.load_packaged>false</tests.rest.load_packaged>
</properties>
<dependencies>

View File

@ -0,0 +1,28 @@
# Integration tests for Smart Chinese analysis components
#
"Tokenizer":
- do:
indices.analyze:
text: 我购买了道具和服装。
tokenizer: smartcn_tokenizer
- length: { tokens: 7 }
- match: { tokens.0.token: 我 }
- match: { tokens.1.token: 购买 }
- match: { tokens.2.token: 了 }
- match: { tokens.3.token: 道具 }
- match: { tokens.4.token: 和 }
- match: { tokens.5.token: 服装 }
- match: { tokens.6.token: "," }
---
"Analyzer":
- do:
indices.analyze:
text: 我购买了道具和服装。
analyzer: smartcn
- length: { tokens: 6 }
- match: { tokens.0.token: 我 }
- match: { tokens.1.token: 购买 }
- match: { tokens.2.token: 了 }
- match: { tokens.3.token: 道具 }
- match: { tokens.4.token: 和 }
- match: { tokens.5.token: 服装 }

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 AnalysisSmartChineseRestIT extends ElasticsearchRestTestCase {
public AnalysisSmartChineseRestIT(@Name("yaml") RestTestCandidate testCandidate) {
super(testCandidate);
}
@ParametersFactory
public static Iterable<Object[]> parameters() throws IOException, RestTestParseException {
return ElasticsearchRestTestCase.createParameters(0, 1);
}
}