@Override protected String getValue(TermItem item) { return ((WordItem)item).getWord(); } }
void appendContentsString(StringBuilder buffer) { buffer.append("'"); for (Iterator<Item> i = getItemIterator(); i.hasNext();) { WordItem wordItem = (WordItem) i.next(); buffer.append(wordItem.getWord()); if (i.hasNext()) { buffer.append(" "); } } buffer.append("'"); }
private boolean hasOverlappingTokens(PhraseSegmentItem segments) { int segmentsLength=0; for (Iterator<Item> i = segments.getItemIterator(); i.hasNext(); ) { WordItem segment = (WordItem) i.next(); segmentsLength += segment.getWord().length(); } return segmentsLength > segments.getRawWord().length(); }
/** * Returns the first word item contained in the given item tree that is an instance of {@link WordItem} with the * given word value. * * @param root The root of the tree to check. * @param value The word to look for. * @return The first node found. */ private static WordItem findOrigWordItem(Item root, String value) { Stack<Item> stack = new Stack<>(); stack.push(root); while (!stack.isEmpty()) { Item item = stack.pop(); if (item.getCreator() == Item.ItemCreator.ORIG && item instanceof WordItem) { WordItem word = (WordItem)item; if (word.getWord().equals(value)) { return word; } } if (item instanceof CompositeItem) { CompositeItem lst = (CompositeItem)item; for (Iterator<Item> it = lst.getItemIterator(); it.hasNext();) { stack.push(it.next()); } } } return null; }
protected void appendBodyString(StringBuilder buffer) { appendIndexString(buffer); buffer.append("\""); for (Iterator<Item> i = getItemIterator(); i.hasNext();) { Item item = i.next(); if (item instanceof WordItem) { WordItem wordItem = (WordItem) item; buffer.append(wordItem.getWord()); } else if (item instanceof PhraseSegmentItem) { PhraseSegmentItem seg = (PhraseSegmentItem) item; seg.appendContentsString(buffer); } else { buffer.append(item.toString()); } if (i.hasNext()) { buffer.append(" "); } } buffer.append("\""); }
terms.add(String.valueOf(words.size() + phrases.size())); for (WordItem item : words) { terms.add(item.getWord());
private void lowerCase(String commonPath, WordItem word, IndexFacts.Session indexFacts) { if (shouldLowercase(commonPath, word, indexFacts)) { word.setWord(toLowerCase(word.getWord())); word.setLowercased(true); } }
private void lowerCase(WordItem word, IndexFacts.Session indexFacts) { if (shouldLowercase(word, indexFacts)) { word.setWord(toLowerCase(word.getWord())); word.setLowercased(true); } }
private void normalizeWord(Language language, IndexFacts.Session indexFacts, TermItem term, ListIterator<Item> i) { if ( ! (term instanceof WordItem)) return; if ( ! term.isNormalizable()) return; Index index = indexFacts.getIndex(term.getIndexName()); if (index.isAttribute()) return; if ( ! index.getNormalize()) return; WordItem word = (WordItem) term; String accentDropped = linguistics.getTransformer().accentDrop(word.getWord(), language); if (accentDropped.length() == 0) i.remove(); else word.setWord(accentDropped); }