org.apache.lucene.util.automaton.Automata.makeAnyString()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(9.7k)|赞(0)|评价(0)|浏览(82)

本文整理了Java中org.apache.lucene.util.automaton.Automata.makeAnyString()方法的一些代码示例,展示了Automata.makeAnyString()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Automata.makeAnyString()方法的具体详情如下:
包路径:org.apache.lucene.util.automaton.Automata
类名称:Automata
方法名:makeAnyString

Automata.makeAnyString介绍

[英]Returns a new (deterministic) automaton that accepts all strings.
[中]返回接受所有字符串的新(确定性)自动机。

代码示例

代码示例来源:origin: org.apache.lucene/lucene-core

switch(c) {
 case WILDCARD_STRING: 
  automata.add(Automata.makeAnyString());
  break;
 case WILDCARD_CHAR:

代码示例来源:origin: org.apache.lucene/lucene-core

break;
case REGEXP_ANYSTRING:
 a = Automata.makeAnyString();
 break;
case REGEXP_AUTOMATON:

代码示例来源:origin: org.elasticsearch/elasticsearch

/** Return an {@link Automaton} that matches the given pattern. */
public static Automaton simpleMatchToAutomaton(String pattern) {
  List<Automaton> automata = new ArrayList<>();
  int previous = 0;
  for (int i = pattern.indexOf('*'); i != -1; i = pattern.indexOf('*', i + 1)) {
    automata.add(Automata.makeString(pattern.substring(previous, i)));
    automata.add(Automata.makeAnyString());
    previous = i + 1;
  }
  automata.add(Automata.makeString(pattern.substring(previous)));
  return Operations.concatenate(automata);
}

代码示例来源:origin: org.elasticsearch/elasticsearch

/** Make matches on objects also match dots in field names.
 *  For instance, if the original simple regex is `foo`, this will translate
 *  it into `foo` OR `foo.*`. */
private static Automaton makeMatchDotsInFieldNames(Automaton automaton) {
  return Operations.union(
      automaton,
      Operations.concatenate(Arrays.asList(automaton, Automata.makeChar('.'), Automata.makeAnyString())));
}

代码示例来源:origin: org.elasticsearch/elasticsearch

private Automaton toAutomaton() {
  Automaton a = null;
  if (include != null) {
    a = include.toAutomaton();
  } else if (includeValues != null) {
    a = Automata.makeStringUnion(includeValues);
  } else {
    a = Automata.makeAnyString();
  }
  if (exclude != null) {
    a = Operations.minus(a, exclude.toAutomaton(), Operations.DEFAULT_MAX_DETERMINIZED_STATES);
  } else if (excludeValues != null) {
    a = Operations.minus(a, Automata.makeStringUnion(excludeValues), Operations.DEFAULT_MAX_DETERMINIZED_STATES);
  }
  return a;
}

代码示例来源:origin: org.elasticsearch/elasticsearch

/**
 * Returns a function that filters a document map based on the given include and exclude rules.
 * @see #filter(Map, String[], String[]) for details
 */
public static Function<Map<String, ?>, Map<String, Object>> filter(String[] includes, String[] excludes) {
  CharacterRunAutomaton matchAllAutomaton = new CharacterRunAutomaton(Automata.makeAnyString());
  CharacterRunAutomaton include;
  if (includes == null || includes.length == 0) {
    include = matchAllAutomaton;
  } else {
    Automaton includeA = Regex.simpleMatchToAutomaton(includes);
    includeA = makeMatchDotsInFieldNames(includeA);
    include = new CharacterRunAutomaton(includeA);
  }
  Automaton excludeA;
  if (excludes == null || excludes.length == 0) {
    excludeA = Automata.makeEmpty();
  } else {
    excludeA = Regex.simpleMatchToAutomaton(excludes);
    excludeA = makeMatchDotsInFieldNames(excludeA);
  }
  CharacterRunAutomaton exclude = new CharacterRunAutomaton(excludeA);
  // NOTE: We cannot use Operations.minus because of the special case that
  // we want all sub properties to match as soon as an object matches
  return (map) -> filter(map,
    include, 0,
    exclude, 0,
    matchAllAutomaton);
}

代码示例来源:origin: apache/servicemix-bundles

/** Return an {@link Automaton} that matches the given pattern. */
public static Automaton simpleMatchToAutomaton(String pattern) {
  List<Automaton> automata = new ArrayList<>();
  int previous = 0;
  for (int i = pattern.indexOf('*'); i != -1; i = pattern.indexOf('*', i + 1)) {
    automata.add(Automata.makeString(pattern.substring(previous, i)));
    automata.add(Automata.makeAnyString());
    previous = i + 1;
  }
  automata.add(Automata.makeString(pattern.substring(previous)));
  return Operations.concatenate(automata);
}

代码示例来源:origin: org.codelibs/elasticsearch-querybuilders

/** Return an {Automaton} that matches the given pattern. */
public static Automaton simpleMatchToAutomaton(String pattern) {
  List<Automaton> automata = new ArrayList<>();
  int previous = 0;
  for (int i = pattern.indexOf('*'); i != -1; i = pattern.indexOf('*', i + 1)) {
    automata.add(Automata.makeString(pattern.substring(previous, i)));
    automata.add(Automata.makeAnyString());
    previous = i + 1;
  }
  automata.add(Automata.makeString(pattern.substring(previous)));
  return Operations.concatenate(automata);
}

代码示例来源:origin: com.strapdata.elasticsearch/elasticsearch

/** Return an {@link Automaton} that matches the given pattern. */
public static Automaton simpleMatchToAutomaton(String pattern) {
  List<Automaton> automata = new ArrayList<>();
  int previous = 0;
  for (int i = pattern.indexOf('*'); i != -1; i = pattern.indexOf('*', i + 1)) {
    automata.add(Automata.makeString(pattern.substring(previous, i)));
    automata.add(Automata.makeAnyString());
    previous = i + 1;
  }
  automata.add(Automata.makeString(pattern.substring(previous)));
  return Operations.concatenate(automata);
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.elasticsearch

/** Return an {@link Automaton} that matches the given pattern. */
public static Automaton simpleMatchToAutomaton(String pattern) {
  List<Automaton> automata = new ArrayList<>();
  int previous = 0;
  for (int i = pattern.indexOf('*'); i != -1; i = pattern.indexOf('*', i + 1)) {
    automata.add(Automata.makeString(pattern.substring(previous, i)));
    automata.add(Automata.makeAnyString());
    previous = i + 1;
  }
  automata.add(Automata.makeString(pattern.substring(previous)));
  return Operations.concatenate(automata);
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.elasticsearch

/** Make matches on objects also match dots in field names.
 *  For instance, if the original simple regex is `foo`, this will translate
 *  it into `foo` OR `foo.*`. */
private static Automaton makeMatchDotsInFieldNames(Automaton automaton) {
  return Operations.union(
      automaton,
      Operations.concatenate(Arrays.asList(automaton, Automata.makeChar('.'), Automata.makeAnyString())));
}

代码示例来源:origin: org.codelibs/elasticsearch-querybuilders

/** Make matches on objects also match dots in field names.
 *  For instance, if the original simple regex is `foo`, this will translate
 *  it into `foo` OR `foo.*`. */
private static Automaton makeMatchDotsInFieldNames(Automaton automaton) {
  return Operations.union(
      automaton,
      Operations.concatenate(Arrays.asList(automaton, Automata.makeChar('.'), Automata.makeAnyString())));
}

代码示例来源:origin: apache/servicemix-bundles

/** Make matches on objects also match dots in field names.
 *  For instance, if the original simple regex is `foo`, this will translate
 *  it into `foo` OR `foo.*`. */
private static Automaton makeMatchDotsInFieldNames(Automaton automaton) {
  return Operations.union(
      automaton,
      Operations.concatenate(Arrays.asList(automaton, Automata.makeChar('.'), Automata.makeAnyString())));
}

代码示例来源:origin: com.strapdata.elasticsearch/elasticsearch

/** Make matches on objects also match dots in field names.
 *  For instance, if the original simple regex is `foo`, this will translate
 *  it into `foo` OR `foo.*`. */
private static Automaton makeMatchDotsInFieldNames(Automaton automaton) {
  return Operations.union(
      automaton,
      Operations.concatenate(Arrays.asList(automaton, Automata.makeChar('.'), Automata.makeAnyString())));
}

代码示例来源:origin: wikimedia/search-highlighter

protected void flattenPrefixQuery(BytesRef bytes, float boost, Object sourceOverride,
    Callback callback) {
  // Should be safe not to copy this because it is fixed...
  if (!sentAutomata.add(bytes)) {
    return;
  }
  Object source = sourceOverride == null ? bytes : sourceOverride;
  Automaton automaton = Automata.makeString(bytes.utf8ToString());
  automaton = Operations.concatenate(automaton, Automata.makeAnyString());
  callback.flattened(automaton, boost, source.hashCode());
}

代码示例来源:origin: apache/servicemix-bundles

private Automaton toAutomaton() {
  Automaton a = null;
  if (include != null) {
    a = include.toAutomaton();
  } else if (includeValues != null) {
    a = Automata.makeStringUnion(includeValues);
  } else {
    a = Automata.makeAnyString();
  }
  if (exclude != null) {
    a = Operations.minus(a, exclude.toAutomaton(), Operations.DEFAULT_MAX_DETERMINIZED_STATES);
  } else if (excludeValues != null) {
    a = Operations.minus(a, Automata.makeStringUnion(excludeValues), Operations.DEFAULT_MAX_DETERMINIZED_STATES);
  }
  return a;
}

代码示例来源:origin: harbby/presto-connectors

private Automaton toAutomaton() {
  Automaton a = null;
  if (include != null) {
    a = include.toAutomaton();
  } else if (includeValues != null) {
    a = Automata.makeStringUnion(includeValues);
  } else {
    a = Automata.makeAnyString();
  }
  if (exclude != null) {
    a = Operations.minus(a, exclude.toAutomaton(), Operations.DEFAULT_MAX_DETERMINIZED_STATES);
  } else if (excludeValues != null) {
    a = Operations.minus(a, Automata.makeStringUnion(excludeValues), Operations.DEFAULT_MAX_DETERMINIZED_STATES);
  }
  return a;
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.elasticsearch

private Automaton toAutomaton() {
  Automaton a = null;
  if (include != null) {
    a = include.toAutomaton();
  } else if (includeValues != null) {
    a = Automata.makeStringUnion(includeValues);
  } else {
    a = Automata.makeAnyString();
  }
  if (exclude != null) {
    a = Operations.minus(a, exclude.toAutomaton(), Operations.DEFAULT_MAX_DETERMINIZED_STATES);
  } else if (excludeValues != null) {
    a = Operations.minus(a, Automata.makeStringUnion(excludeValues), Operations.DEFAULT_MAX_DETERMINIZED_STATES);
  }
  return a;
}

代码示例来源:origin: org.codelibs/elasticsearch-querybuilders

private Automaton toAutomaton() {
  Automaton a = null;
  if (include != null) {
    a = include.toAutomaton();
  } else if (includeValues != null) {
    a = Automata.makeStringUnion(includeValues);
  } else {
    a = Automata.makeAnyString();
  }
  if (exclude != null) {
    a = Operations.minus(a, exclude.toAutomaton(), Operations.DEFAULT_MAX_DETERMINIZED_STATES);
  } else if (excludeValues != null) {
    a = Operations.minus(a, Automata.makeStringUnion(excludeValues), Operations.DEFAULT_MAX_DETERMINIZED_STATES);
  }
  return a;
}

代码示例来源:origin: com.strapdata.elasticsearch/elasticsearch

private Automaton toAutomaton() {
  Automaton a = null;
  if (include != null) {
    a = include.toAutomaton();
  } else if (includeValues != null) {
    a = Automata.makeStringUnion(includeValues);
  } else {
    a = Automata.makeAnyString();
  }
  if (exclude != null) {
    a = Operations.minus(a, exclude.toAutomaton(), Operations.DEFAULT_MAX_DETERMINIZED_STATES);
  } else if (excludeValues != null) {
    a = Operations.minus(a, Automata.makeStringUnion(excludeValues), Operations.DEFAULT_MAX_DETERMINIZED_STATES);
  }
  return a;
}

相关文章