---
title: "Service: /members/{member}/projects/{group}/search/predicate [GET]"
source: https://dev.pageseeder.com/api/services/project-search-predicate-GET.html
description: "Search multiple groups by predicate"
last_updated: 2026-08-07T17:09:54+10:00
document_type: api_endpoint
operation_id: search-GET
resource_id: search
path_template: /members/{member}/projects/{group}/search/predicate
http_method: GET
api_category: search
implementation_version: null
api_since: 5.9400
deprecated_since: null
obsolete_since: null
api_support: supported
cache_control: null
generated_at: 2026-08-07
tokens: ~716
---

# /members/\{member\}/projects/\{group\}/search/predicate \[GET\]

## Description

Search multiple groups by predicate.

### The indexes

The current implementation of PageSeeder produces one Lucene index per group. All the groups under the project on the request that the member has access to are searched. The groups parameter can be used to narrow the groups selected. It must be a comma-separated list of group names.

### The query

The parameters used for a predicate query are predicate and defaultfield. The predicate specified must be parseable by the Lucene classic parser. See [http://lucene.apache.org/core/5\_2\_1/queryparser/org/apache/lucene/queryparser/classic/package-summary.html](http://lucene.apache.org/core/5_2_1/queryparser/org/apache/lucene/queryparser/classic/package-summary.html) for more info.

For details see [Service: /groups/\{group\}/search \[GET\]](group-search-GET.md).

> **Warning:** The predicate specification might change with different Lucene versions, so this service should not be used for production systems.

## Parameters

| Name | Description | Required | Type | Default |
| --- | --- | --- | --- | --- |
| defaultfield | The default field, only used with the predicate parameter | no | string | `pscontent` |
| facets | A comma-separated list of fields to use as facets | no | strings |  |
| facetsize | The max number of facet values to load (max 1000) | no | integer | `10` |
| fieldsize | Maximum number of characters allowed in a result field (max 10000) | no | integer | `1000` |
| groups | A comma-separated list of group names (only used when there is a project on the request) | no | strings |  |
| page | The current page to view | no | integer | `1` |
| pagesize | How many results does a page contain | no | integer | `100` |
| predicate | The lucene predicate, takes precedence over the question parameter | no | string |  |
| searchgroups | If `all` then search all groups under the project (administrators only) | no | enum | `user` |
| sortfields | A comma-separated list of fields to sort the results | no | strings |  |

## Permission

Only the member themselves with guest access to the project, or an administrator, can invoke this service.

## Response

The XML response is:

```lang-xml

<search>
  <query> ... </query>
  <facets> ... </facets>
  <results>  ... </results>
</search>
```

For details see [Service: /groups/\{group\}/search \[GET\]](group-search-GET.md).

## Error Handling

| Code | Cause / Description |
| --- | --- |
| 0x1501 | If there is an invalid group specified |
| 0x1502 | If there are no indexes selected |
| 0x1503 | If the predicate is not valid |
| 0x1504 | If a sort field cannot be used for sorting |
| 0x1505 | If the facet size specified is bigger than the global property for face size ( maxFacetSize) |
| 0x1506 | If a numeric field is specified as a facet |

