Skip to content

Search and Filters

Doug Blank edited this page Oct 19, 2026 · 2 revisions

🌐 Also available in: Deutsch · Español · Français · Nederlands · 简体中文

Search and Filters

How to find things in your tree: browsing related records, searching, and building filters without learning a query language.

Drilling down without losing your place

Pick a person (or family, place, event...) from a list, and everything related to them appears alongside it: their events, family, photos, notes and sources. Click into any of those and its own details open below, while the list and your original selection stay exactly where they were, however deep you go.

Searching the whole tree

One search box looks through every kind of record (people, families, events, places, sources) together. Results are laid out like a search engine's, ranked by how well each one matches, with a snippet of context.

Searching one list

Each list also has its own search box.

Plain-text search

By default, the box does a fast plain-text match against that record type's common fields.

GOQL search

A checkbox next to the box switches it into GOQL, a small query language for much more specific questions: everyone with a given surname born in a certain place before a certain year, say, or every family where the mother died before the father.

Your selection stays put

Typing a new search, clearing it, applying a filter, or clicking a column header to sort all keep the record you had selected, as long as it's still in the results. If it isn't, the selection moves to the first row of what's now showing.

Filters

A Filters button next to every primary list's title (People, Families, Events, Places, Repositories, Sources, Citations, Media, Notes; every list except Tags) opens a dialog for picking a saved filter or building your own.

Picking a saved filter

Load a saved filter… reloads a named filter you saved before. Its empty first entry starts fresh.

The rest of the dialog stays tucked behind a collapsed ▸ Edit options toggle, so picking a saved filter and pressing Apply takes two clicks, with the full editor one click away.

Building a filter

Opening Edit options reveals the Custom Rules button and, under a small "Filter Builder" heading, a rule editor.

Built-in rules

+ Add rule opens a searchable list of everyday rules grouped by category; click a rule to add it. When the filter is empty the list is already open, so applying a single rule needs no extra click. Examples:

  • Females / Males
  • no recorded birth date
  • missing parents
  • has media
  • tagged with a name you type in (any tag on the tree)
  • born or died between two dates you type in (any date Gramps understands, not just a bare year)

There are dozens more, matching the desktop app's Custom Filter rules. The built-in list currently covers People and Families, as the desktop app's own rule set does. Every other list still gets the full dialog, building your own rules and saving and loading filters, just with an empty built-in list to start from.

Combining rules: AND, OR and NOT

Combine several rules with AND or OR, and nest a rule group inside another to mix the two. Negate any single rule or whole group with its own checkbox. There's no separate "not" filter to create, unlike the desktop app.

Under the hood the dialog builds the same GOQL the search box's GOQL mode uses, shown read-only underneath, inside Edit options.

Changing a saved filter

To change a saved filter, load it and edit its rules inside Edit options. An "Unsaved changes" note appears next to the dropdown while you do.

Switching to a different saved filter (or back to empty) while that note is showing asks you to confirm first, so an edit in progress is never thrown away by picking something else from the dropdown.

Saving a filter

  • Save (enabled once you've changed something) saves your changes back to the loaded filter.
  • Copy… leaves the original untouched and makes a separate filter, named "that filter's name (copy)" to start with.
  • Save… (when nothing is loaded) names a new filter for the first time.

Copy and Save reject a name already used by another saved filter in the same list, right in the naming dialog, so a second filter can't shadow the first.

Deleting a filter

Delete removes the loaded saved filter and empties the Filter Builder. It sits in the button row at the bottom, next to Clear, Save and Apply, and is disabled when nothing is loaded ("New Filter").

Closing without saving

There's no Cancel button. The dialog writes nothing until you click Apply, Save or Copy, so closing it any other way (the × or clicking outside) already cancels.

Custom rules

Need a rule that's not in the built-in list? Custom Rules, inside Edit options, opens a small manager where you name and save a raw GOQL snippet. This is the one place in Filters that accepts raw query text. A circled "i" next to it opens the same GOQL syntax reference the search box uses.

The snippet runs against your tree in the background as you type, so Create and Save only enable once it's valid. A typo is caught right there, not the next time the rule gets used.

Edit or delete any rule you've made. Each one shows up as an ordinary, reusable rule in + Add rule from then on.

Rules with parameters

A custom rule can take its own named, typed parameters, as the built-in tag and date rules do. Add one or more parameters (String or Integer) and reference each as {name} in the GOQL. Once saved, the rule shows a fill-in-the-value field in + Add rule.

Seeing the active filter

Whenever a filter is active, the list header shows a plain-language summary next to the Filters button and its clear (×) button, e.g. "Females AND NOT (Widowed OR Divorced)", so you can tell what's applied without opening the dialog.

The home person

Set a particular person as your own point of reference in the tree. The Home page and some community add-ons build on it.

Opening the People list for the first time in a session starts with the home person selected instead of the first row, unless you arrived with a specific person already chosen.

Clone this wiki locally