Project Lucy has retired. For details please refer to its Attic page.
Lucy::Search::PolySearcher – C API Documentation
Apache Lucy™

Lucy::Search::PolySearcher

parcel Lucy
class variable LUCY_POLYSEARCHER
struct symbol lucy_PolySearcher
class nickname lucy_PolySearcher
header file Lucy/Search/PolySearcher.h

Name

Lucy::Search::PolySearcher – Aggregate results from multiple Searchers.

Description

The primary use for PolySearcher is to aggregate results from several indexes on a single machine.

Functions

new
lucy_PolySearcher* // incremented
lucy_PolySearcher_new(
    lucy_Schema *schema,
    cfish_Vector *searchers
);

Create a new PolySearcher.

schema

A Schema.

searchers

An array of Searchers.

init
lucy_PolySearcher*
lucy_PolySearcher_init(
    lucy_PolySearcher *self,
    lucy_Schema *schema,
    cfish_Vector *searchers
);

Initialize a PolySearcher.

schema

A Schema.

searchers

An array of Searchers.

Methods

Doc_Max
int32_t
lucy_PolySearcher_Doc_Max(
    lucy_PolySearcher *self
);

Return the maximum number of docs in the collection represented by the Searcher, which is also the highest possible internal doc id. Documents which have been marked as deleted but not yet purged are included in this count.

Doc_Freq
uint32_t
lucy_PolySearcher_Doc_Freq(
    lucy_PolySearcher *self,
    cfish_String *field,
    cfish_Obj *term
);

Return the number of documents which contain the term in the given field.

field

Field name.

term

The term to look up.

Collect
void
lucy_PolySearcher_Collect(
    lucy_PolySearcher *self,
    lucy_Query *query,
    lucy_Collector *collector
);

Iterate over hits, feeding them into a Collector.

query

A Query.

collector

A Collector.

Fetch_Doc
lucy_HitDoc* // incremented
lucy_PolySearcher_Fetch_Doc(
    lucy_PolySearcher *self,
    int32_t doc_id
);

Retrieve a document. Throws an error if the doc id is out of range.

doc_id

A document id.

Methods inherited from Lucy::Search::Searcher

Glean_Query
lucy_Query* // incremented
lucy_PolySearcher_Glean_Query(
    lucy_PolySearcher *self,
    cfish_Obj *query
);

If the supplied object is a Query, return it; if it’s a query string, create a QueryParser and parse it to produce a query against all indexed fields.

Hits
lucy_Hits* // incremented
lucy_PolySearcher_Hits(
    lucy_PolySearcher *self,
    cfish_Obj *query,
    uint32_t offset,
    uint32_t num_wanted,
    lucy_SortSpec *sort_spec
);

Return a Hits object containing the top results.

query

Either a Query object or a query string.

offset

The number of most-relevant hits to discard, typically used when “paging” through hits N at a time. Setting offset to 20 and num_wanted to 10 retrieves hits 21-30, assuming that 30 hits can be found.

num_wanted

The number of hits you would like to see after offset is taken into account.

sort_spec

A SortSpec, which will affect how results are ranked and returned.

Get_Schema
lucy_Schema*
lucy_PolySearcher_Get_Schema(
    lucy_PolySearcher *self
);

Accessor for the object’s schema member.

Inheritance

Lucy::Search::PolySearcher is a Lucy::Search::Searcher is a Clownfish::Obj.