public boolean removeItem(Item item) { if (locked) { dontRemove(); } return super.removeItem(item); }
@Override public int getNumWords() { return getItemCount(); }
public boolean hasUniqueID() { return super.hasUniqueID(); } }
phrase = new AndSegmentItem(origin.getValue(), true, !stem); phrase.setIndexName(field); phrase.addItem(new WordItem(word, field, true)); phrase.addItem(instantiateWordItem(field, word, phrase.getClass(), SegmentWhen.NEVER)); leafStyleSettings(ast, (TaggableItem) phrase); phrase.lock(); return phrase;
private boolean rewriteToNGramMatching(Item item, int indexInParent, IndexFacts.Session indexFacts, Query query) { boolean rewritten = false; if (item instanceof SegmentItem) { // handle CJK segmented terms which should be grams instead SegmentItem segments = (SegmentItem)item; Index index = indexFacts.getIndex(segments.getIndexName()); if (index.isNGram()) { Item grams = splitToGrams(segments, toLowerCase(segments.getRawWord()), index.getGramSize(), query); replaceItemByGrams(item, grams, indexInParent); rewritten = true; } } else if (item instanceof CompositeItem) { CompositeItem composite = (CompositeItem)item; for (int i=0; i<composite.getItemCount(); i++) rewritten = rewriteToNGramMatching(composite.getItem(i), i, indexFacts, query) || rewritten; } else if (item instanceof TermItem) { TermItem term = (TermItem)item; Index index = indexFacts.getIndex(term.getIndexName()); if (index.isNGram()) { Item grams = splitToGrams(term,term.stringValue(), index.getGramSize(), query); replaceItemByGrams(item, grams, indexInParent); rewritten = true; } } return rewritten; }
public void addItem(Item item) { if (locked) { dontAdd(); } super.addItem(item); }
private StringBuilder getStringContents(Item item) { if (item instanceof TermItem) { return new StringBuilder( ((TermItem) item).stringValue()); } else if (item instanceof SegmentItem) { return new StringBuilder( ((SegmentItem) item).getRawWord()); } else { throw new RuntimeException("Parser bug. Unexpected item type, send stack trace in a bug ticket to the Vespa team."); } }
private void normalizeBlocks(Language language, IndexFacts.Session indexFacts, BlockItem block, ListIterator<Item> i) { if (block instanceof TermItem) { if (block instanceof WordAlternativesItem) { normalizeAlternatives(language, indexFacts, (WordAlternativesItem) block); } else { normalizeWord(language, indexFacts, (TermItem) block, i); } } else { for (ListIterator<Item> j = ((SegmentItem) block).getItemIterator(); j.hasNext();) normalizeWord(language, indexFacts, (TermItem) j.next(), j); } }
public void addItem(int index, Item item) { if (locked) { dontAdd(); } super.addItem(index, item); }
public Item removeItem(int index) { if (locked) { dontRemove(); } return super.removeItem(index); }