@Override public NodeIter iter(final QueryContext ctx) throws QueryException { final FTIter ir = ftexpr.iter(ctx); return new NodeIter() { @Override public ANode next() throws QueryException { final FTNode it = ir.next(); if (it != null) { // add entry to visualization if (ctx.ftpos != null) ctx.ftpos.add(it.data, it.pre, it.all); // assign scoring, if not done yet it.score(); // remove matches reference to save memory it.all = null; } return it; } }; }
@Override public void plan(final Serializer ser) throws IOException { ser.openElement(this, DATA, token(ictx.data.meta.name)); ftexpr.plan(ser); ser.closeElement(); }
@Override public Expr remove(final Var v) { ftexpr.remove(v); return this; }
@Override public boolean removable(final Var v) { return ftexpr.removable(v); }
@Override public int count(final Var v) { return ftexpr.count(v); }
@Override public boolean uses(final Use u) { return ftexpr.uses(u); }