本文整理汇总了Java中org.apache.lucene.search.suggest.Lookup.build方法的典型用法代码示例。如果您正苦于以下问题:Java Lookup.build方法的具体用法?Java Lookup.build怎么用?Java Lookup.build使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.lucene.search.suggest.Lookup
的用法示例。
在下文中一共展示了Lookup.build方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: runTest
import org.apache.lucene.search.suggest.Lookup; //导入方法依赖的package包/类
private void runTest(Class<? extends Lookup> lookupClass,
boolean supportsExactWeights) throws Exception {
// Add all input keys.
Lookup lookup = lookupClass.newInstance();
TermFreq[] keys = new TermFreq[this.keys.length];
for (int i = 0; i < keys.length; i++)
keys[i] = new TermFreq(this.keys[i], i);
lookup.build(new TermFreqArrayIterator(keys));
// Store the suggester.
File storeDir = TEMP_DIR;
lookup.store(new FileOutputStream(new File(storeDir, "lookup.dat")));
// Re-read it from disk.
lookup = lookupClass.newInstance();
lookup.load(new FileInputStream(new File(storeDir, "lookup.dat")));
// Assert validity.
Random random = random();
long previous = Long.MIN_VALUE;
for (TermFreq k : keys) {
List<LookupResult> list = lookup.lookup(_TestUtil.bytesToCharSequence(k.term, random), false, 1);
assertEquals(1, list.size());
LookupResult lookupResult = list.get(0);
assertNotNull(k.term.utf8ToString(), lookupResult.key);
if (supportsExactWeights) {
assertEquals(k.term.utf8ToString(), k.v, lookupResult.value);
} else {
assertTrue(lookupResult.value + ">=" + previous, lookupResult.value >= previous);
previous = lookupResult.value;
}
}
}
示例2: buildLookup
import org.apache.lucene.search.suggest.Lookup; //导入方法依赖的package包/类
/**
* Create {@link Lookup} instance and populate it.
*/
private Lookup buildLookup(Class<? extends Lookup> cls, TermFreq[] input) throws Exception {
Lookup lookup = null;
try {
lookup = cls.newInstance();
} catch (InstantiationException e) {
Constructor<? extends Lookup> ctor = cls.getConstructor(Analyzer.class);
lookup = ctor.newInstance(new MockAnalyzer(random, MockTokenizer.KEYWORD, false));
}
lookup.build(new TermFreqArrayIterator(input));
return lookup;
}
示例3: runTest
import org.apache.lucene.search.suggest.Lookup; //导入方法依赖的package包/类
private void runTest(Class<? extends Lookup> lookupClass,
boolean supportsExactWeights) throws Exception {
// Add all input keys.
Lookup lookup = lookupClass.newInstance();
Input[] keys = new Input[this.keys.length];
for (int i = 0; i < keys.length; i++)
keys[i] = new Input(this.keys[i], i);
lookup.build(new InputArrayIterator(keys));
// Store the suggester.
File storeDir = TEMP_DIR;
lookup.store(new FileOutputStream(new File(storeDir, "lookup.dat")));
// Re-read it from disk.
lookup = lookupClass.newInstance();
lookup.load(new FileInputStream(new File(storeDir, "lookup.dat")));
// Assert validity.
Random random = random();
long previous = Long.MIN_VALUE;
for (Input k : keys) {
List<LookupResult> list = lookup.lookup(_TestUtil.bytesToCharSequence(k.term, random), false, 1);
assertEquals(1, list.size());
LookupResult lookupResult = list.get(0);
assertNotNull(k.term.utf8ToString(), lookupResult.key);
if (supportsExactWeights) {
assertEquals(k.term.utf8ToString(), k.v, lookupResult.value);
} else {
assertTrue(lookupResult.value + ">=" + previous, lookupResult.value >= previous);
previous = lookupResult.value;
}
}
}