本文整理汇总了Java中org.apache.lucene.analysis.miscellaneous.StemmerOverrideFilter.Builder方法的典型用法代码示例。如果您正苦于以下问题:Java StemmerOverrideFilter.Builder方法的具体用法?Java StemmerOverrideFilter.Builder怎么用?Java StemmerOverrideFilter.Builder使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.lucene.analysis.miscellaneous.StemmerOverrideFilter
的用法示例。
在下文中一共展示了StemmerOverrideFilter.Builder方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: parseRules
import org.apache.lucene.analysis.miscellaneous.StemmerOverrideFilter; //导入方法依赖的package包/类
static void parseRules(List<String> rules, StemmerOverrideFilter.Builder builder, String mappingSep) {
for (String rule : rules) {
String key, override;
List<String> mapping = Strings.splitSmart(rule, mappingSep, false);
if (mapping.size() == 2) {
key = mapping.get(0).trim();
override = mapping.get(1).trim();
} else {
throw new RuntimeException("Invalid Keyword override Rule:" + rule);
}
if (key.isEmpty() || override.isEmpty()) {
throw new RuntimeException("Invalid Keyword override Rule:" + rule);
} else {
builder.add(key, override);
}
}
}
示例2: create
import org.apache.lucene.analysis.miscellaneous.StemmerOverrideFilter; //导入方法依赖的package包/类
@Override public Object create(Random random) {
int num = random.nextInt(10);
StemmerOverrideFilter.Builder builder = new StemmerOverrideFilter.Builder(random.nextBoolean());
for (int i = 0; i < num; i++) {
String input = "";
do {
input = TestUtil.randomRealisticUnicodeString(random);
} while(input.isEmpty());
String out = ""; TestUtil.randomSimpleString(random);
do {
out = TestUtil.randomRealisticUnicodeString(random);
} while(out.isEmpty());
builder.add(input, out);
}
try {
return builder.build();
} catch (Exception ex) {
Rethrow.rethrow(ex);
return null; // unreachable code
}
}
示例3: DutchAnalyzer
import org.apache.lucene.analysis.miscellaneous.StemmerOverrideFilter; //导入方法依赖的package包/类
public DutchAnalyzer(Version matchVersion, CharArraySet stopwords, CharArraySet stemExclusionTable, CharArrayMap<String> stemOverrideDict) {
this.matchVersion = matchVersion;
this.stoptable = CharArraySet.unmodifiableSet(CharArraySet.copy(matchVersion, stopwords));
this.excltable = CharArraySet.unmodifiableSet(CharArraySet.copy(matchVersion, stemExclusionTable));
if (stemOverrideDict.isEmpty() || !matchVersion.onOrAfter(Version.LUCENE_31)) {
this.stemdict = null;
this.origStemdict = CharArrayMap.unmodifiableMap(CharArrayMap.copy(matchVersion, stemOverrideDict));
} else {
this.origStemdict = null;
// we don't need to ignore case here since we lowercase in this analyzer anyway
StemmerOverrideFilter.Builder builder = new StemmerOverrideFilter.Builder(false);
CharArrayMap<String>.EntryIterator iter = stemOverrideDict.entrySet().iterator();
CharsRef spare = new CharsRef();
while (iter.hasNext()) {
char[] nextKey = iter.nextKey();
spare.copyChars(nextKey, 0, nextKey.length);
builder.add(spare, iter.currentValue());
}
try {
this.stemdict = builder.build();
} catch (IOException ex) {
throw new RuntimeException("can not build stem dict", ex);
}
}
}
示例4: create
import org.apache.lucene.analysis.miscellaneous.StemmerOverrideFilter; //导入方法依赖的package包/类
@Override public Object create(Random random) {
int num = random.nextInt(10);
StemmerOverrideFilter.Builder builder = new StemmerOverrideFilter.Builder(random.nextBoolean());
for (int i = 0; i < num; i++) {
String input = "";
do {
input = _TestUtil.randomRealisticUnicodeString(random);
} while(input.isEmpty());
String out = ""; _TestUtil.randomSimpleString(random);
do {
out = _TestUtil.randomRealisticUnicodeString(random);
} while(out.isEmpty());
builder.add(input, out);
}
try {
return builder.build();
} catch (Exception ex) {
Rethrow.rethrow(ex);
return null; // unreachable code
}
}
示例5: StemmerOverrideTokenFilterFactory
import org.apache.lucene.analysis.miscellaneous.StemmerOverrideFilter; //导入方法依赖的package包/类
public StemmerOverrideTokenFilterFactory(IndexSettings indexSettings, Environment env, String name, Settings settings) throws IOException {
super(indexSettings, name, settings);
List<String> rules = Analysis.getWordList(env, settings, "rules");
if (rules == null) {
throw new IllegalArgumentException("stemmer override filter requires either `rules` or `rules_path` to be configured");
}
StemmerOverrideFilter.Builder builder = new StemmerOverrideFilter.Builder(false);
parseRules(rules, builder, "=>");
overrideMap = builder.build();
}
示例6: DutchAnalyzer
import org.apache.lucene.analysis.miscellaneous.StemmerOverrideFilter; //导入方法依赖的package包/类
/**
* @deprecated Use {@link #DutchAnalyzer(CharArraySet,CharArraySet,CharArrayMap)}
*/
@Deprecated
public DutchAnalyzer(Version matchVersion, CharArraySet stopwords, CharArraySet stemExclusionTable, CharArrayMap<String> stemOverrideDict) {
setVersion(matchVersion);
this.stoptable = CharArraySet.unmodifiableSet(CharArraySet.copy(matchVersion, stopwords));
this.excltable = CharArraySet.unmodifiableSet(CharArraySet.copy(matchVersion, stemExclusionTable));
if (stemOverrideDict.isEmpty() || !matchVersion.onOrAfter(Version.LUCENE_3_1)) {
this.stemdict = null;
this.origStemdict = CharArrayMap.unmodifiableMap(CharArrayMap.copy(matchVersion, stemOverrideDict));
} else {
this.origStemdict = null;
// we don't need to ignore case here since we lowercase in this analyzer anyway
StemmerOverrideFilter.Builder builder = new StemmerOverrideFilter.Builder(false);
CharArrayMap<String>.EntryIterator iter = stemOverrideDict.entrySet().iterator();
CharsRefBuilder spare = new CharsRefBuilder();
while (iter.hasNext()) {
char[] nextKey = iter.nextKey();
spare.copyChars(nextKey, 0, nextKey.length);
builder.add(spare.get(), iter.currentValue());
}
try {
this.stemdict = builder.build();
} catch (IOException ex) {
throw new RuntimeException("can not build stem dict", ex);
}
}
}
示例7: StemmerOverrideTokenFilterFactory
import org.apache.lucene.analysis.miscellaneous.StemmerOverrideFilter; //导入方法依赖的package包/类
@Inject
public StemmerOverrideTokenFilterFactory(Index index, IndexSettingsService indexSettingsService, Environment env, @Assisted String name, @Assisted Settings settings) throws IOException {
super(index, indexSettingsService.getSettings(), name, settings);
List<String> rules = Analysis.getWordList(env, settings, "rules");
if (rules == null) {
throw new IllegalArgumentException("stemmer override filter requires either `rules` or `rules_path` to be configured");
}
StemmerOverrideFilter.Builder builder = new StemmerOverrideFilter.Builder(false);
parseRules(rules, builder, "=>");
overrideMap = builder.build();
}