---
name: "Search::GIN::Query::Set"
section: "3pm"
platform: "linux"
package: "libsearch-gin-perl"
version: "0.11-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Search::GIN::Query::Set"
---

# Search::GIN::Query::Set(3pm)

Create queries with set operations

## NAME

Search::GIN::Query::Set - Create queries with set operations

## VERSION

version 0.11

## SYNOPSIS

```
    # build a query like:
    # (type:pdf OR type:png) AND (name:Homer OR name:Bart)
    use Search::GIN::Query::Set;
    use Search::GIN::Query::Manual;
    my $query = Search::GIN::Query::Set->new(
        operation => 'INTERSECT',
        subqueries => [
            Search::GIN::Query::Manual->new(
                values => {
                   type => [qw(pdf png)]
                }
            ),
            Search::GIN::Query::Manual->new(
                values => {
                   name => [qw(Homer Bart)]
                }
            ),
        ]
    );
```

## DESCRIPTION

Creates a manual GIN query that can be used to search using basic set theory, in order to build more complex queries.

This query doesn't provide any specific search, it's just a set operator for subqueries. You can build complex queries by using other set queries as subqueries for a set query.

## METHODS/SUBROUTINES

### new

Creates a new query.

## ATTRIBUTES

### subqueries

The subqueries to process

### operation

One of the basic set operators: "UNION", "INTERSECT" and "EXCEPT". The default is "UNION"

## AUTHOR

XXXX XXX'XX (Yuval Kogman) \<nothingmuch@woobling.org\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2008 by XXXX XXX'XX (Yuval Kogman), Infinity Interactive.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
