public CacheKey(String fieldname, Term term) { this.fieldname = fieldname; // this.term = term; value = term.getValue(); }
@Override public String toString() { return ((field == null) ? "*" : field) + ":" + getValue(); }
private org.apache.lucene.index.Term toLuceneTerm(final Term querqyTerm) { return new org.apache.lucene.index.Term(dictionaryField, querqyTerm.getValue().toString()); }
@Override public Term visit(final Term term) { final ComparableCharSequence value = term.getValue(); if (value instanceof querqy.rewrite.commonrules.model.Term) { if (((querqy.rewrite.commonrules.model.Term) value).hasPlaceHolder()) { // a term with a placeholder cannot be generated as such return term; } } result.add(term); return term; }
@Override public Node visit(final Term term) { final String value = term.getValue().toString(); final int pos = value.indexOf('$'); if ((pos < 0) || (pos == value.length() - 1) || !Character.isDigit(value.charAt(pos + 1))) { return term; } final querqy.rewrite.commonrules.model.Term charSequence = new querqy.rewrite.commonrules.model.Term( value.toCharArray(), 0, value.length(), term.getField() == null ? null : Collections.singletonList(term.getField())); return new Term(term.getParent(), term.getField(), charSequence, true); }
@Override protected boolean matchesSafely(Term item) { return item != null && // expectedField == null -> do not compare field name. (expectedField == null || expectedField.equals(item.getField())) && // Using toString() here to avoid incompatibilities between // equals() of different char sequences. CharSequenceUtil.equals(expectedValue, item.getValue()) && // expectedValue.equals(item.getValue().toString()) && ((expectedGenerated == null) || (expectedGenerated.booleanValue() == item.isGenerated())) ; } }
if (dmqClause instanceof Term) { final ComparableCharSequence value = ((Term) dmqClause).getValue(); final int length = value.length(); final StringBuilder sb = new StringBuilder(length);
public void putTerm(Term term) throws IOException { appendToSequences(term); FST.Arc<BytesRef> scratchArc = new FST.Arc<>(); fst.getFirstArc(scratchArc); BytesRef pendingOutput = fst.outputs.getNoOutput(); FST.BytesReader fstReader = fst.getBytesReader(); boolean ok = true; CharSequence termValue = term.getValue(); for (int pos = 0, len = termValue.length(); ok && (pos < len);) { int codePoint = Character.codePointAt(termValue, pos); ok = null != fst.findTargetArc(codePoint, scratchArc, scratchArc, fstReader); pendingOutput = fst.outputs.add(pendingOutput, scratchArc.output); pos += Character.charCount(codePoint); } if (ok) { List<Term> terms = Collections.singletonList(term); FST.Arc<BytesRef> arc = new FST.Arc<>(); addSequences.add(new Sequence(arc.copyFrom(scratchArc), terms, pendingOutput)); if (scratchArc.isFinal()) { addOutput(fst.outputs.add(pendingOutput, scratchArc.nextFinalOutput)); } } }
CharSequence termValue = term.getValue();
@Override public Node visit(final Term term) { final ComparableCharSequence value = term.getValue(); if (value instanceof querqy.rewrite.commonrules.model.Term) { querqy.rewrite.commonrules.model.Term termValue = (querqy.rewrite.commonrules.model.Term) value; final ComparableCharSequence newValue = termValue.fillPlaceholders(termMatches); return new Term((DisjunctionMaxQuery) getNewParent(), term.getField(), newValue, true); } else { return term.clone((DisjunctionMaxQuery) getNewParent(), true); } }
final Term termWithFieldInValue = new Term(null, new CompoundCharSequence(":", fieldname, term.getValue())); fieldBoost = searchFieldsAndBoosting.getFieldBoost(termWithFieldInValue); if (fieldBoost != null) {