Class: Ferret::Search::Spans::SpanPrefixQuery

Summary

A SpanPrefixQuery is the Spans version of PrefixQuery, the only difference being that it returns the start and end offset of all of its matches for use by enclosing SpanQueries.

Public Class Methods


SpanPrefixQuery.new(field, prefix, max_terms = 256) → query

Create a new SpanPrefixQuery which matches all documents with the prefix prefix in the field field.

/*
 *  call-seq:
 *     SpanPrefixQuery.new(field, prefix, max_terms = 256) -> query
 *
 *  Create a new SpanPrefixQuery which matches all documents with the prefix
 *  +prefix+ in the field +field+.
 */
static VALUE
frt_spanprq_init(int argc, VALUE *argv, VALUE self)
{
    VALUE rfield, rprefix, rmax_terms;
    int max_terms = SPAN_PREFIX_QUERY_MAX_TERMS;
    Query *q;
    if (rb_scan_args(argc, argv, "21", &rfield, &rprefix, &rmax_terms) == 3) {
        max_terms = FIX2INT(rmax_terms);
    }
    q = spanprq_new(frt_field(rfield), StringValuePtr(rprefix));
    ((SpanPrefixQuery *)q)->max_terms = max_terms;
    Frt_Wrap_Struct(self, NULL, &frt_q_free, q);
    object_add(q, self);
    return self;
}