Java Code Examples for org.apache.lucene.util.IntsRefBuilder#get()
The following examples show how to use
org.apache.lucene.util.IntsRefBuilder#get() .
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: DatawaveFieldIndexListIteratorJexl.java From datawave with Apache License 2.0 | 6 votes |
public static FST<?> getFST(SortedSet<String> values) throws IOException { final IntsRefBuilder irBuilder = new IntsRefBuilder(); // The builder options with defaults FST.INPUT_TYPE inputType = FST.INPUT_TYPE.BYTE1; int minSuffixCount1 = 0; int minSuffixCount2 = 0; boolean doShareSuffix = true; boolean doShareNonSingletonNodes = true; int shareMaxTailLength = Integer.MAX_VALUE; boolean allowArrayArcs = true; int bytesPageBits = 15; final Outputs<Object> outputs = NoOutputs.getSingleton(); // create the FST from the values org.apache.lucene.util.fst.Builder<Object> fstBuilder = new org.apache.lucene.util.fst.Builder<>(inputType, minSuffixCount1, minSuffixCount2, doShareSuffix, doShareNonSingletonNodes, shareMaxTailLength, outputs, allowArrayArcs, bytesPageBits); for (String value : values) { Util.toUTF16(value, irBuilder); final IntsRef scratchInt = irBuilder.get(); fstBuilder.add(scratchInt, outputs.getNoOutput()); } return fstBuilder.finish(); }
Example 2
Source File: DatawaveArithmetic.java From datawave with Apache License 2.0 | 5 votes |
public static boolean matchesFst(Object object, FST fst) throws IOException { final IntsRefBuilder irBuilder = new IntsRefBuilder(); Util.toUTF16(object.toString(), irBuilder); final IntsRef ints = irBuilder.get(); synchronized (fst) { return Util.get(fst, ints) != null; } }
Example 3
Source File: FSTTester.java From lucene-solr with Apache License 2.0 | 5 votes |
static IntsRef toIntsRefUTF32(String s, IntsRefBuilder ir) { final int charLength = s.length(); int charIdx = 0; int intIdx = 0; ir.clear(); while(charIdx < charLength) { ir.grow(intIdx+1); final int utf32 = s.codePointAt(charIdx); ir.append(utf32); charIdx += Character.charCount(utf32); intIdx++; } return ir.get(); }
Example 4
Source File: FSTTester.java From lucene-solr with Apache License 2.0 | 5 votes |
static IntsRef toIntsRef(BytesRef br, IntsRefBuilder ir) { ir.grow(br.length); ir.clear(); for(int i=0;i<br.length;i++) { ir.append(br.bytes[br.offset+i]&0xFF); } return ir.get(); }
Example 5
Source File: Operations.java From lucene-solr with Apache License 2.0 | 5 votes |
/** If this automaton accepts a single input, return it. Else, return null. * The automaton must be deterministic. */ public static IntsRef getSingleton(Automaton a) { if (a.isDeterministic() == false) { throw new IllegalArgumentException("input automaton must be deterministic"); } IntsRefBuilder builder = new IntsRefBuilder(); HashSet<Integer> visited = new HashSet<>(); int s = 0; Transition t = new Transition(); while (true) { visited.add(s); if (a.isAccept(s) == false) { if (a.getNumTransitions(s) == 1) { a.getTransition(s, 0, t); if (t.min == t.max && !visited.contains(t.dest)) { builder.append(t.min); s = t.dest; continue; } } } else if (a.getNumTransitions(s) == 0) { return builder.get(); } // Automaton accepts more than one string: return null; } }
Example 6
Source File: Util.java From lucene-solr with Apache License 2.0 | 5 votes |
/** Just maps each UTF16 unit (char) to the ints in an * IntsRef. */ public static IntsRef toUTF16(CharSequence s, IntsRefBuilder scratch) { final int charLimit = s.length(); scratch.setLength(charLimit); scratch.grow(charLimit); for (int idx = 0; idx < charLimit; idx++) { scratch.setIntAt(idx, (int) s.charAt(idx)); } return scratch.get(); }
Example 7
Source File: Util.java From lucene-solr with Apache License 2.0 | 5 votes |
/** Decodes the Unicode codepoints from the provided * CharSequence and places them in the provided scratch * IntsRef, which must not be null, returning it. */ public static IntsRef toUTF32(CharSequence s, IntsRefBuilder scratch) { int charIdx = 0; int intIdx = 0; final int charLimit = s.length(); while(charIdx < charLimit) { scratch.grow(intIdx+1); final int utf32 = Character.codePointAt(s, charIdx); scratch.setIntAt(intIdx, utf32); charIdx += Character.charCount(utf32); intIdx++; } scratch.setLength(intIdx); return scratch.get(); }
Example 8
Source File: Util.java From lucene-solr with Apache License 2.0 | 5 votes |
/** Decodes the Unicode codepoints from the provided * char[] and places them in the provided scratch * IntsRef, which must not be null, returning it. */ public static IntsRef toUTF32(char[] s, int offset, int length, IntsRefBuilder scratch) { int charIdx = offset; int intIdx = 0; final int charLimit = offset + length; while(charIdx < charLimit) { scratch.grow(intIdx+1); final int utf32 = Character.codePointAt(s, charIdx, charLimit); scratch.setIntAt(intIdx, utf32); charIdx += Character.charCount(utf32); intIdx++; } scratch.setLength(intIdx); return scratch.get(); }
Example 9
Source File: Util.java From lucene-solr with Apache License 2.0 | 5 votes |
/** Just takes unsigned byte values from the BytesRef and * converts into an IntsRef. */ public static IntsRef toIntsRef(BytesRef input, IntsRefBuilder scratch) { scratch.clear(); for(int i=0;i<input.length;i++) { scratch.append(input.bytes[i+input.offset] & 0xFF); } return scratch.get(); }
Example 10
Source File: TestAutomaton.java From lucene-solr with Apache License 2.0 | 5 votes |
private static IntsRef toIntsRef(String s) { IntsRefBuilder b = new IntsRefBuilder(); for (int i = 0, cp = 0; i < s.length(); i += Character.charCount(cp)) { cp = s.codePointAt(i); b.append(cp); } return b.get(); }