List of usage examples for org.apache.lucene.util.automaton RegExp toAutomaton
public Automaton toAutomaton()
Automaton from this RegExp. From source file:io.crate.expression.operator.RegexpMatchOperator.java
License:Apache License
@Override public Boolean evaluate(Input<BytesRef>... args) { assert args.length == 2 : "invalid number of arguments"; BytesRef source = args[0].value();//from w w w. j av a2s . c o m if (source == null) { return null; } BytesRef pattern = args[1].value(); if (pattern == null) { return null; } String sPattern = pattern.utf8ToString(); if (isPcrePattern(sPattern)) { return source.utf8ToString().matches(sPattern); } else { RegExp regexp = new RegExp(sPattern); ByteRunAutomaton regexpRunAutomaton = new ByteRunAutomaton(regexp.toAutomaton()); return regexpRunAutomaton.run(source.bytes, source.offset, source.length); } }
From source file:io.crate.operation.operator.RegexpMatchOperator.java
License:Apache License
@Override public Boolean evaluate(Input<BytesRef>... args) { assert args.length == 2 : "invalid number of arguments"; BytesRef source = args[0].value();// ww w. j a va 2 s. co m if (source == null) { return null; } BytesRef pattern = args[1].value(); if (pattern == null) { return null; } if (isPcrePattern(pattern)) { return source.utf8ToString().matches(pattern.utf8ToString()); } else { RegExp regexp = new RegExp(pattern.utf8ToString()); ByteRunAutomaton regexpRunAutomaton = new ByteRunAutomaton(regexp.toAutomaton()); return regexpRunAutomaton.run(source.bytes, source.offset, source.length); } }
From source file:org.apache.solr.analysis.MockTokenFilterFactory.java
License:Apache License
/** Creates a new MockTokenizerFactory */ public MockTokenFilterFactory(Map<String, String> args) { super(args);/*from w w w.j a v a 2s. c om*/ String stopset = get(args, "stopset", Arrays.asList("english", "empty"), null, false); String stopregex = get(args, "stopregex"); if (null != stopset) { if (null != stopregex) { throw new IllegalArgumentException("Parameters stopset and stopregex cannot both be specified."); } if ("english".equalsIgnoreCase(stopset)) { filter = MockTokenFilter.ENGLISH_STOPSET; } else { // must be "empty" filter = MockTokenFilter.EMPTY_STOPSET; } } else if (null != stopregex) { RegExp regex = new RegExp(stopregex); filter = new CharacterRunAutomaton(regex.toAutomaton()); } else { throw new IllegalArgumentException( "Configuration Error: either the 'stopset' or the 'stopregex' parameter must be specified."); } enablePositionIncrements = getBoolean(args, "enablePositionIncrements", true); if (!args.isEmpty()) { throw new IllegalArgumentException("Unknown parameters: " + args); } }
From source file:org.apache.solr.core.MockTokenFilterFactory.java
License:Apache License
/** Creates a new MockTokenizerFactory */ public MockTokenFilterFactory(Map<String, String> args) { super(args);//from w w w . j a va 2 s .c o m String stopset = get(args, "stopset", Arrays.asList("english", "empty"), null, false); String stopregex = get(args, "stopregex"); if (null != stopset) { if (null != stopregex) { throw new IllegalArgumentException("Parameters stopset and stopregex cannot both be specified."); } if ("english".equalsIgnoreCase(stopset)) { filter = MockTokenFilter.ENGLISH_STOPSET; } else { // must be "empty" filter = MockTokenFilter.EMPTY_STOPSET; } } else if (null != stopregex) { RegExp regex = new RegExp(stopregex); filter = new CharacterRunAutomaton(regex.toAutomaton()); } else { throw new IllegalArgumentException( "Configuration Error: either the 'stopset' or the 'stopregex' parameter must be specified."); } if (!args.isEmpty()) { throw new IllegalArgumentException("Unknown parameters: " + args); } }