Example usage for org.apache.lucene.analysis MockTokenizer MockTokenizer

List of usage examples for org.apache.lucene.analysis MockTokenizer MockTokenizer

Introduction

In this page you can find the example usage for org.apache.lucene.analysis MockTokenizer MockTokenizer.

Prototype

public MockTokenizer(AttributeFactory factory) 

Source Link

Document

Calls #MockTokenizer(AttributeFactory,CharacterRunAutomaton,boolean) MockTokenizer(AttributeFactory, Reader, WHITESPACE, true)

Usage

From source file:org.elasticsearch.index.analysis.NGramTokenizerFactoryTests.java

License:Apache License

@Test
public void testBackwardsCompatibilityEdgeNgramTokenFilter()
        throws IllegalArgumentException, IllegalAccessException {
    int iters = atLeast(20);
    for (int i = 0; i < iters; i++) {
        final Index index = new Index("test");
        final String name = "ngr";
        Version v = randomVersion(random());
        if (v.onOrAfter(Version.V_0_90_2)) {
            Builder builder = ImmutableSettings.builder().put("min_gram", 2).put("max_gram", 3);
            boolean compatVersion = false;
            if ((compatVersion = random().nextBoolean())) {
                builder.put("version", "4." + random().nextInt(3));
            }//from   www .  j a va  2  s .  c  o  m
            boolean reverse = random().nextBoolean();
            if (reverse) {
                builder.put("side", "back");
            }
            Settings settings = builder.build();
            Settings indexSettings = ImmutableSettings.builder()
                    .put(IndexMetaData.SETTING_VERSION_CREATED, v.id).build();
            TokenStream edgeNGramTokenFilter = new EdgeNGramTokenFilterFactory(index, indexSettings, name,
                    settings).create(new MockTokenizer(new StringReader("foo bar")));
            if (compatVersion) {
                assertThat(edgeNGramTokenFilter, instanceOf(EdgeNGramTokenFilter.class));
            } else if (reverse && !compatVersion) {
                assertThat(edgeNGramTokenFilter, instanceOf(ReverseStringFilter.class));
            } else {
                assertThat(edgeNGramTokenFilter, instanceOf(EdgeNGramTokenFilter.class));
            }

        } else {
            Builder builder = ImmutableSettings.builder().put("min_gram", 2).put("max_gram", 3);
            boolean reverse = random().nextBoolean();
            if (reverse) {
                builder.put("side", "back");
            }
            Settings settings = builder.build();
            Settings indexSettings = ImmutableSettings.builder()
                    .put(IndexMetaData.SETTING_VERSION_CREATED, v.id).build();
            TokenStream edgeNGramTokenFilter = new EdgeNGramTokenFilterFactory(index, indexSettings, name,
                    settings).create(new MockTokenizer(new StringReader("foo bar")));
            assertThat(edgeNGramTokenFilter, instanceOf(EdgeNGramTokenFilter.class));
        }
    }
}