Java Code Examples for org.apache.lucene.util.fst.Util#toIntsRef()
The following examples show how to use
org.apache.lucene.util.fst.Util#toIntsRef() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: XAnalyzingSuggester.java From Elasticsearch with Apache License 2.0 | 6 votes |
public void finishTerm(long defaultWeight) throws IOException { ArrayUtil.timSort(surfaceFormsAndPayload, 0, count); int deduplicator = 0; analyzed.append((byte) 0); analyzed.setLength(analyzed.length() + 1); analyzed.grow(analyzed.length()); for (int i = 0; i < count; i++) { analyzed.setByteAt(analyzed.length() - 1, (byte) deduplicator++); Util.toIntsRef(analyzed.get(), scratchInts); SurfaceFormAndPayload candiate = surfaceFormsAndPayload[i]; long cost = candiate.weight == -1 ? encodeWeight(Math.min(Integer.MAX_VALUE, defaultWeight)) : candiate.weight; builder.add(scratchInts.get(), outputs.newPair(cost, candiate.payload)); } seenSurfaceForms.clear(); count = 0; }
Example 2
Source File: NRTSuggesterBuilder.java From lucene-solr with Apache License 2.0 | 6 votes |
/** * Writes all the entries for the FST input term */ public void finishTerm() throws IOException { int numArcs = 0; int numDedupBytes = 1; analyzed.grow(analyzed.length() + 1); analyzed.setLength(analyzed.length() + 1); for (Entry entry : entries) { if (numArcs == maxNumArcsForDedupByte(numDedupBytes)) { analyzed.setByteAt(analyzed.length() - 1, (byte) (numArcs)); analyzed.grow(analyzed.length() + 1); analyzed.setLength(analyzed.length() + 1); numArcs = 0; numDedupBytes++; } analyzed.setByteAt(analyzed.length() - 1, (byte) numArcs++); Util.toIntsRef(analyzed.get(), scratchInts); fstCompiler.add(scratchInts.get(), outputs.newPair(entry.weight, entry.payload)); } maxAnalyzedPathsPerOutput = Math.max(maxAnalyzedPathsPerOutput, entries.size()); entries.clear(); }
Example 3
Source File: FiniteStringsIteratorTest.java From lucene-solr with Apache License 2.0 | 5 votes |
/** * Basic test for getFiniteStrings */ public void testFiniteStringsBasic() { Automaton a = Operations.union(Automata.makeString("dog"), Automata.makeString("duck")); a = MinimizationOperations.minimize(a, DEFAULT_MAX_DETERMINIZED_STATES); FiniteStringsIterator iterator = new FiniteStringsIterator(a); List<IntsRef> actual = getFiniteStrings(iterator); assertFiniteStringsRecursive(a, actual); assertEquals(2, actual.size()); IntsRefBuilder dog = new IntsRefBuilder(); Util.toIntsRef(new BytesRef("dog"), dog); assertTrue(actual.contains(dog.get())); IntsRefBuilder duck = new IntsRefBuilder(); Util.toIntsRef(new BytesRef("duck"), duck); assertTrue(actual.contains(duck.get())); }
Example 4
Source File: FiniteStringsIteratorTest.java From lucene-solr with Apache License 2.0 | 5 votes |
public void testShortAccept() { Automaton a = Operations.union(Automata.makeString("x"), Automata.makeString("xy")); a = MinimizationOperations.minimize(a, DEFAULT_MAX_DETERMINIZED_STATES); FiniteStringsIterator iterator = new FiniteStringsIterator(a); List<IntsRef> actual = getFiniteStrings(iterator); assertEquals(2, actual.size()); IntsRefBuilder x = new IntsRefBuilder(); Util.toIntsRef(new BytesRef("x"), x); assertTrue(actual.contains(x.get())); IntsRefBuilder xy = new IntsRefBuilder(); Util.toIntsRef(new BytesRef("xy"), xy); assertTrue(actual.contains(xy.get())); }
Example 5
Source File: TestAutomaton.java From lucene-solr with Apache License 2.0 | 5 votes |
public void testMakeBinaryIntervalRandom() throws Exception { int iters = atLeast(100); for(int iter=0;iter<iters;iter++) { BytesRef minTerm = TestUtil.randomBinaryTerm(random()); boolean minInclusive = random().nextBoolean(); BytesRef maxTerm = TestUtil.randomBinaryTerm(random()); boolean maxInclusive = random().nextBoolean(); Automaton a = makeBinaryInterval(minTerm, minInclusive, maxTerm, maxInclusive); for(int iter2=0;iter2<500;iter2++) { BytesRef term = TestUtil.randomBinaryTerm(random()); int minCmp = minTerm.compareTo(term); int maxCmp = maxTerm.compareTo(term); boolean expected; if (minCmp > 0 || maxCmp < 0) { expected = false; } else if (minCmp == 0 && maxCmp == 0) { expected = minInclusive && maxInclusive; } else if (minCmp == 0) { expected = minInclusive; } else if (maxCmp == 0) { expected = maxInclusive; } else { expected = true; } if (VERBOSE) { System.out.println(" check term=" + term + " expected=" + expected); } IntsRefBuilder intsBuilder = new IntsRefBuilder(); Util.toIntsRef(term, intsBuilder); assertEquals(expected, Operations.run(a, intsBuilder.toIntsRef())); } } }
Example 6
Source File: TestUTF32ToUTF8.java From lucene-solr with Apache License 2.0 | 5 votes |
public void testSingleton() throws Exception { int iters = atLeast(100); for(int iter=0;iter<iters;iter++) { String s = TestUtil.randomRealisticUnicodeString(random()); Automaton a = Automata.makeString(s); Automaton utf8 = new UTF32ToUTF8().convert(a); IntsRefBuilder ints = new IntsRefBuilder(); Util.toIntsRef(new BytesRef(s), ints); Set<IntsRef> set = new HashSet<>(); set.add(ints.get()); assertEquals(set, TestOperations.getFiniteStrings(utf8)); } }
Example 7
Source File: TestAutomaton.java From lucene-solr with Apache License 2.0 | 4 votes |
private boolean accepts(Automaton a, BytesRef b) { IntsRefBuilder intsBuilder = new IntsRefBuilder(); Util.toIntsRef(b, intsBuilder); return Operations.run(a, intsBuilder.toIntsRef()); }
Example 8
Source File: TestAutomaton.java From lucene-solr with Apache License 2.0 | 4 votes |
private static IntsRef intsRef(String s) { IntsRefBuilder intsBuilder = new IntsRefBuilder(); Util.toIntsRef(new BytesRef(s), intsBuilder); return intsBuilder.toIntsRef(); }