Views
Filters
Quick search, full-text search and detailed search serve different purposes. Mixing them up is the most common reason for “the search finds nothing”.
The searches compared
| Quick search | Full-text search | Detailed search | |
|---|---|---|---|
| Where | Menu bar, top right | Filter tab in the sidebar | Filter tab, Detailed Search section |
| Changes the selection of objects | no | yes | yes |
| Searches | only the chosen view fields of the current selection | all fields, optionally also metadata, events and files | the chosen fields |
| Kind | fuzzy, typing errors are forgiven | substring | operator per condition |
| Sorting | List of hits below the search field, best hits first; the view stays unchanged | unchanged | unchanged |
| For | finding and opening an object quickly | narrowing the selection | building a precise selection |

A fuzzy search also finds similar matches: Muler finds Müller, because missing, swapped and wrong letters are taken into account.
Moliri uses this in many places, not only in the quick search but in almost every selection menu too. The
field Objekt Höhe (object height) can be found with oho. Matches are highlighted in yellow.
Full-text search
One search field across all fields you are allowed to read in the project, whichever layout they are in. Fields that are hidden from you return no hits, not even through comment and source. You search for one term; there are no operators or wildcards. Under Search scope you narrow down where to search:
| Search scope | Searches |
|---|---|
| Fields | The values of all fields: text, numbers, dates, addresses, authority data, locations and file details. Switches and yes/no fields are left out |
| Metadata | Comment and source on the fields, not the field value itself. The hit shows the comment found |
| Events | The events linked to the object, of the event types you may read: type, title, actors, location, date and description, as well as role, note, comment and source of the link |
| Image metadata | The metadata of the linked files: text, keywords, description, creator, copyright and path |
| Links | The links to authority data, addresses, objects and files: type, target, note, comment and source. The search covers the name of the authority record; for objects, the inventory number and the type’s title field; for people from the address book, name, role, address label and postcode/place. Phone, email and street are left out. Also the additional details of the link, such as the page or the role in the work; switches and references are left out. A link between two objects also finds the target: searching for the title of a component finds the work it belongs to. The hit then carries the inverse of the type, for example “besteht aus” (consists of). Only types you may read, and at the target only links from objects you may read. The only search scope besides Fields that is switched on from the start |
| Transcripts and OCR | The transcripts of audio and video and the recognised text of images, in the file manager and in file fields. A hit in a transcript gives the time; clicking it opens the recording at that point |
To the left of the search field, an icon (font size, equals sign, accent) switches on exact matching:
upper and lower case and umlauts must then match. Without it, a = ä and k = K.
Example: without exact matching, kauf finds Verkauft, Verkäuflich and Kauffrau; with
exact matching only Verkauft.
Space, tab and line break count as the same: Öl auf Leinwand also finds a value with a line break after Öl, and pressing Enter after the search term does not change the result. With exact matching, every character counts as typed; that way you can also search for a line break.
If the search term contains invisible characters that the search does not treat as a space, such as a non-breaking space from copied text, a note below the search field names them. Remove takes them out of the search term. With exact matching, the note also names line breaks, tabs and spaces at the start or end.
The order of the objects stays unchanged. All that counts is whether something was found, not where. While a full-text search is active, every object preview shows a hit counter; hovering shows a preview of the hits.

By meaning
The By meaning switch below the search field compares the query with the sense of the texts instead of their letters. Different rules then apply from those above:
| Full-text search | By meaning | |
|---|---|---|
| Hits | Every object that contains the term | The 50 objects whose texts match best |
| Order | The view’s sorting | The best first. The sort rules are suspended and greyed out; a grouping stays, with the best first in each group |
| Searches | The chosen search scope | The overall text of each object from the text, HTML, select, tree, keyword and authority data fields that everyone in the project may read |
| Exact matching, search scope | Apply | Do not apply |
| Hit display | Counter and passages | An icon; hovering shows the field that matches best |
Numbers, dates, inventory numbers, links, events and file texts are not included. There is no threshold: even if no object really fits, the 50 best appear. A language model on your own server reads the texts once for this; Preparation below the search field shows the status and starts runs (with write access to the project). If the project has not been prepared or the service does not respond, the switch searches the full text instead and says so.
The detailed search offers the same for a single field: the comparison Meaning (sparkle icon), offered for text, HTML, select, tree, keyword and authority data fields. It finds the 50 objects whose text in this field matches best and can be combined with AND, OR and brackets like any other row. The hits then come first, the best at the top. A field you may not read finds nothing. Without preparation or without the service, the row compares with contains and says so below the search field.
Detailed search
A list of conditions, joined with AND and OR, and grouped with brackets.

Choice of fields
You can choose:
- all fields that can be read in the project
- the annotations of each field: colour marking, comment, source, uncertain
- the file metadata of the object’s files: name, text, description, keywords, type, extension, creator, rights
- the subfields of address, object and geolocation fields
- the links, per library and per link type (see below )
- under Conditions: Conditions not met, Missing required fields, Incorrectly filled fields and Duplicate values, provided a field in the project has such a condition
If you have switched on field search by meaning in your profile, a row By meaning: appears above the list as you type, with up to three fields that have different names but mean the same thing (“Künstler” (artist) finds Urheber (creator)).
A row from Conditions has the choice not met or met instead of an operator and, if several fields have the condition, a selection with All fields and the individual fields. The answer comes from the list that the server keeps for each project and updates after every save, with no upper limit on objects. When it is needed for a project for the first time, the gallery reports Preparing filter by Conditions until it has been built. The filter buttons under Check set exactly these rows.
Comparison operators
| Operator | Meaning |
|---|---|
| Contains | The field contains the value anywhere |
| Does not contain | The field does not contain the value |
| Equal | Exactly equal. Leaving the search term empty finds all objects that have no entry here |
| Not equal | Not equal. Leaving the search term empty finds all objects that already have an entry here |
| Greater | Numeric comparison, chronological for date fields |
| Smaller | as above |
| Greater or equal | as above |
| Smaller or equal | as above |
| Regular Expression | Pattern search, see Regular expressions |
All objects without an image: choose the image field, Equal, leave the search term empty.
All objects with an image: the same with Not equal.
The same pattern works for every field and is the quickest way to a list of gaps.
Search term
Enter a value for each operator. Below the field, suggestions from the existing values of this field appear; clicking one takes it over. Next to the input is the same option for exact matching as in the full-text search.
For number and date fields, enter the comparison value in its stored form: numbers in the base unit,
dates as JJJJ-MM-TT (year, month, day).
Links
A criterion on a link is called, for example, Authority data Material or Objects dokumentiert in (documented in); the row with only the name of the library applies to every readable type. Instead of an operator it has has or has not, and instead of a search term the Target.
Every type of the Objects library appears a second time in the opposite direction, labelled with its inverse: Objects besteht aus (consists of) finds the works that have components, and has not those without. There you choose the Source instead of the target, for example a particular component. Include narrower terms does not exist in the opposite direction. If the type has no inverse, the criterion is called, for example, Objects Bestandteil von (inverse) (component of).
| Input | Meaning |
|---|---|
| Target | The chain icon opens the library’s selection, as in the link area. You can choose several targets. They are shown side by side with or between them, and each can be removed with its cross. For files and events, which have no selection, enter the numbers separated by commas |
| has | The object is linked to at least one of the targets: has Material Eiche oder Buche (oak or beech) |
| has not | The object is linked to none of the targets. Without a target: it has no link of this type |
| Include narrower terms | Only for authority data and objects, applies to every target. For authority data, the narrower terms count as well, so Holz (wood) also finds Eiche (oak). For objects, everything below counts that hangs there through a type that forms a tree. Switched on from the start for authority data |
| Additional field | If the type has additional fields, one of them can be checked with Contains, Equal, Not equal, Greater, Smaller, Greater or equal or Smaller or equal, for example the page. Empty means: the detail is set |
Only links of types you may read are counted. If a criterion cannot be evaluated, for example because the type can no longer be read, it finds no object, not even with has not.
Filter in your own words
If a chat model is set up for the instance (Settings › AI account), or you have chosen the desktop app Transcribe in your profile under field search , an input appears above the detailed search: describe the filter there in a sentence, for example paintings after 1900 without a location, and click Suggest. The model suggests conditions; they appear as ordinary rows in the detailed search, outlined in yellow and with a note that they do not apply yet.
| Checking | Each row can be changed, removed or added to like any other. The selection of objects stays unchanged meanwhile |
| Apply filter | Only then does the filter apply |
| Discard | Restores the filter that applied before |
| Left out | Listed in the note: fields that do not exist in the project, comparisons that do not suit the field (greater on a link), and parts of the sentence that could not be expressed with the fields |
| Waiting time | Below the input it says how long the question has been running; Cancel stops waiting. With Transcribe it also says whether it is loading the model, reading the field catalogue (as a percentage) or writing the suggestion |
| Brackets | The suggestion sets no brackets. If it mixes AND and OR, the note points this out: AND binds more strongly, so paintings by Monet or van Gogh without brackets means (paintings AND Monet) OR van Gogh |
Moliri checks every suggested field against the field selection of the detailed search and every comparison against the kind of row; it does not check the values. The model receives the sentence and the description of the fields (name, field type, labels, stored values of a select list), no object data. The note below the input says whether the model runs in-house or who the request goes to. Without a chat model the input is missing, and the detailed search works as described above.
The question runs as a server job, like a transcription, and waits behind running jobs. Below the input it says how long the model has been reading or how many jobs are waiting ahead of it; Cancel stops waiting. An in-house model without a graphics card needs a few minutes for a project with many fields.
AND, OR and brackets
You add further conditions with AND or OR. From three conditions onwards, bracket icons appear next to AND and OR (opening bracket, closing bracket), which you use to group conditions. Each group gets its own colour.
Every opening bracket needs a closing one. The outermost bracket is set automatically; you can only set the inner ones. If one is missing, the matching outer bracket is shown in red. In that case a bracket of the same kind is still missing.
You remove a condition with the cross on its row. Reset clears the whole detailed search.
Wahl filter
Independent of everything above: the Wahl filter at the bottom left of the footer limits the selection to 1st choice, 2nd choice or 3rd choice, or shows the Trash. See Sidebar .
Pinned objects bypass the Wahl filter. That is why a pinned object from the trash can turn up in the selection.
Saving a filter
A filter, together with the full-text search, sorting and grouping, is stored as a saved view . Saved views can be applied across projects; unknown field names are silently dropped in the process.
Further reading
- Filtering objects : the procedure
- Searching : which search to use when
- Regular expressions : syntax table and examples