Provided by: libcatmandu-perl_1.2019-1_all bug

NAME

       Catmandu::Searchable - Optional role for searchable stores

SYNOPSIS

           my $store = Catmandu::Store::Solr->new();

           # Return one page of search results (page size = 1000)
           my $hits  = $store->bag->search(
                  query => 'dna' ,
                  start => 0 ,
                  limit => 100 ,
                  sort  => 'title desc',
                       );

           # Return all the search results as iterator
           my $it    = $store->bag->searcher(query => 'dna');
           $it->each(sub { ...});

           $store->bag->delete_by_query(query => 'dna');

CONFIGURATION

       default_limit
           The default value for "limit". By default this is 10.

       maximum_limit
           The maximum allowed value for "limit". By default this is 1000.

       maximum_offset
           The maximum allowed offset. When set no hits will be returned after hit offset is
           greater than "maximum_offset", this to avoid deep paging problems.  Pagination values
           will be also be adjusted accordingly.

METHODS

   search(query => $query, start => $start, page => $page, limit => $num, sort => $sort)
       Search the database and returns a Catmandu::Hits on success. The Hits represents one
       result page of at most $num results. The $query and $sort should implement the query and
       sort syntax of the underlying search engine.

       Optionally provide the index of the first result using the "start" option, or the starting
       page using the "page" option. The number of records in a result page can be set using the
       "limit" option. Sorting options are being sent verbatim to the underlying search engine.

   searcher(query => $query, start => $start, limit => $num, sort => $sort, cql_query => $cql)
       Search the database and return a Catmandu::Iterable on success. This iterator can be used
       to loop over the complete result set. The $query and $sort should implement the query and
       sort syntax of the underlying search engine.

       Optionally provide the index of the first result using the "start" option. The number of
       records in a page can be set using the "limit" option. Sorting options are being sent
       verbatim to the underlying search engine.

   delete_by_query(query => $query)
       Delete items from the database that match $query

CQL support

       Stores that are support the CQL query language <https://www.loc.gov/standards/sru/cql/>
       also accept the "cql_query" and "sru_sortkeys" arguments. See Catmandu::CQLSearchable for
       more information.

SEE ALSO

       Catmandu::CQLSearchable, Catmandu::Hits, Catmandu::Paged