コード例 #1
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: public void testMaxPosition3WithSynomyms() throws java.io.IOException
        public virtual void testMaxPosition3WithSynomyms()
        {
            foreach (bool consumeAll in new bool[] { true, false })
            {
                MockTokenizer tokenizer = new MockTokenizer(new StringReader("one two three four five"), MockTokenizer.WHITESPACE, false);
                // if we are consuming all tokens, we can use the checks, otherwise we can't
                tokenizer.EnableChecks = consumeAll;

                SynonymMap.Builder builder = new SynonymMap.Builder(true);
                builder.add(new CharsRef("one"), new CharsRef("first"), true);
                builder.add(new CharsRef("one"), new CharsRef("alpha"), true);
                builder.add(new CharsRef("one"), new CharsRef("beguine"), true);
                CharsRef multiWordCharsRef = new CharsRef();
                SynonymMap.Builder.join(new string[] { "and", "indubitably", "single", "only" }, multiWordCharsRef);
                builder.add(new CharsRef("one"), multiWordCharsRef, true);
                SynonymMap.Builder.join(new string[] { "dopple", "ganger" }, multiWordCharsRef);
                builder.add(new CharsRef("two"), multiWordCharsRef, true);
                SynonymMap  synonymMap = builder.build();
                TokenStream stream     = new SynonymFilter(tokenizer, synonymMap, true);
                stream = new LimitTokenPositionFilter(stream, 3, consumeAll);

                // "only", the 4th word of multi-word synonym "and indubitably single only" is not emitted, since its position is greater than 3.
                assertTokenStreamContents(stream, new string[] { "one", "first", "alpha", "beguine", "and", "two", "indubitably", "dopple", "three", "single", "ganger" }, new int[] { 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0 });
            }
        }
コード例 #2
0
 public AnalyzerAnonymousInnerClassHelper(TestRemoveDuplicatesTokenFilter outerInstance, SynonymMap map, bool ignoreCase)
 {
     this.outerInstance = outerInstance;
       this.map = map;
       this.ignoreCase = ignoreCase;
 }
コード例 #3
0
 private void add(SynonymMap.Builder b, string input, string output, bool keepOrig)
 {
     b.add(new CharsRef(input.replaceAll(" +", "\u0000")), new CharsRef(output.replaceAll(" +", "\u0000")), keepOrig);
 }