---
name: "Catmandu::Fix::search_in_store"
section: "3pm"
platform: "linux"
package: "libcatmandu-perl"
version: "1.2024-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Catmandu::Fix::search_in_store"
---

# Catmandu::Fix::search\_in\_store(3pm)

use the value as query, and replace it by a search object

## NAME

Catmandu::Fix::search\_in\_store - use the value as query, and replace it by a search object

## SYNTAX

search\_in\_store(path)

search\_in\_store(path,store: 'store', bag: 'bag', limit: 0, start: 0, sort: 'title desc')

## RETURN VALUE

```
    {
        start: 0,
        limit: 0,
        hits: [],
        total: 1000
    }
```

cf. Catmandu::Hits

## PARAMETERS

### path

The location in the perl hash where the query is stored.

See "PATHS" in Catmandu::Fix for more information about paths.

### store

The name of the store.

This store MUST be an implementation of Catmandu::Searchable.

There are several ways to refer to a store:

```
    * by full package name ( e.g. 'Catmandu::Store::Solr' )
    * by short package name ( e.g. 'Solr' )
    * by name defined in the Catmandu configuration
```

See "store-NAME" in Catmandu for more information.

Default is 'default'.

### bag

Name of bag.

Default is 'data'.

### limit

only return `$limit` number of records.

### start

offset of records to return

### sort

sort records before slicing them.

This parameter is store specific.

## OTHER PARAMETERS

other parameters are given to the contructor of the Catmandu::Store

e.g. catmandu.yml:

```
    store:
        catalog:
            package: "Catmandu::Store::Solr"
```

e.g. fix:

```
    search_in_store('foo.query', store:'catalog', bag: 'data', url: 'http://localhost:8983/solr/catalog')
```

## EXAMPLES

```
    #search in Catmandu->store->bag, and store first 20 results in the foo.query.hits
    search_in_store('foo.query')
    #search in Catmandu->store->bag, and store first 20 results in the foo.query.hits
    search_in_store('foo.query', store:'default')
    #search in Catmandu->store->bag; limit number of results to 10
    search_in_store('foo.query', store:'default', limit: 10)
    #search in Catmandu->store->bag; limit number of result to 10, starting from 15
    search_in_store('foo.query', store:'default', limit: 10, start: 15)
    #search in Catmandu->store->bag('persons'); sort by year descending, and by title ascending
    search_in_store('foo.query', store:'default', bag:'persons', sort: 'year desc,title asc')
```

## AUTHORS

Nicolas Franck `"<nicolas.franck at ugent.be>"`

## SEE ALSO

Catmandu::Fix

Catmandu::Store
