---
name: "medusa-search-uri"
section: "7"
platform: "linux"
package: "medusa"
version: "0.5.1-4"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/medusa-search-uri"
---

# medusa-search-uri(7)

syntax for medusa searches

## NAME

medusa-search-uri - syntax for medusa searches

## SYNOPSIS

**gnome-search:\[file:///\]** *criterion* \[ **&** *criterion* ... \]

## DESCRIPTION

**medusa-indexd** produces file system indices which can then be queried with **msearch** or with the **libmedusa** libraries . This manual page documents the syntax used to specify what to search for.

**WARNING:** This manual page is mostly cloned from the **search\_uri\_rfc** document in the **medusa** distribution and has been put into manual page form by someone who really doesn't know how it all works. It also documents what the aforementioned document says works at the moment, rather than how it ought to work eventually.

### Search method and root

Search URIs begin with a search method:

**gnome-search:**

followed by a bracketed file system root:

**\[file:///\]**

At the moment **medusa:** or **search:** will also be accepted instead of **gnome-search:**. You are supposed to be able to specify multiple bracketed roots, which are supposed to be able to have protocols other than **file:**, and roots other than **/**, but I believe at the moment it has to be exactly as above.

### Criteria

The search method and root are followed by one or more *criteria*. If there is more than one, they are separated by ampersands:

*criterion*\
 *criterion* **&** *criterion*\
 *criterion* **&** *criterion* **&** *criterion*\
 ...

According to the specification, vertical bars (⎪) can be used to specify an *or* relation, and parentheses (**(** and **)**) can be used to group criteria, but I believe neither of these features is currently implemented.

Below is the list of criteria that are understood:

**file\_name is** *string*\
 **file\_name contains** *string*\
 **file\_name does\_not\_contain** *string*\
 **file\_name begins\_with** *string*\
 **file\_name matches** *glob-pattern*\
 **file\_name regexp\_matches** *regexp-pattern*

**directory\_name is** *string*\
 **directory\_name contains** *string*\
 **directory\_name regexp\_matches** *regexp-pattern*\
 **directory\_name does\_not\_regexp\_match** *regexp-pattern*

(I think **is\_in** means \`\`is a subdirectory of.'' Directory searches don't seem to work for me, though.)

**file\_type is application**\
 **file\_type is\_not application**\
 **file\_type is music**\
 **file\_type is\_not music**\
 **file\_type is text\_file**\
 **file\_type is\_not text\_file**\
 **file\_type is file**\
 **file\_type is\_not file**\
 **file\_type is directory**\
 **file\_type is\_not directory**

**modified is** *MM***/***DD***/***YYYY*\
 **modified is\_not** *MM***/***DD***/***YYYY*\
 **modified is\_before** *MM***/***DD***/***YYYY*\
 **modified is\_after** *MM***/***DD***/***YYYY*\
 **modified is today**\
 **modified is yesterday**\
 **modified is\_within\_a\_week\_of** *MM***/***DD***/***YYYY*\
 **modified is\_within\_a\_month\_of** *MM***/***DD***/***YYYY*\
 **mtime is\_before** *time\_t*\
 **mtime is\_after** *time\_t*

**owner is** *login*\
 **owner has\_uid** *uid*\
 **owner is\_not** *login*\
 **owner does\_not\_have\_uid** *uid*

**group is** *groupname*\
 **group has\_gid** *gid*\
 **group is\_not** *groupname*\
 **group does\_not\_have\_gid** *gid*

**size larger\_than** *byte-count*\
 **size smaller\_than** *byte-count*\
 **size is** *byte-count*\

**permissions\_to\_read include\_uid** *uid*

**content includes\_all\_of** *string*\
 **content includes\_any\_of** *string*\
 **content does\_not\_include\_all\_of** *string*\
 **content does\_not\_include\_any\_of** *string*

(This syntax is wrong for the **content** searches, but I don't know what the real syntax is, because even when I do a search from inside Nautilus I get the error message that the URI is invalid.)

**keywords include** *keyword*\
 **keywords do\_not\_include** *keyword*

I leave out the other search criteria that **search\_uri\_rfc** documents but says are unimplemented now.

## EXAMPLES

msearch 'gnome-search:\[file:///\]file\_name is etc'\
 msearch 'gnome-search:\[file:///\]file\_name begins\_with gnome-s'\
 msearch 'gnome-search:\[file:///\]file\_name matches gnome\*.png'\
 msearch 'gnome-search:\[file:///\]file\_name regexp\_matches ^k\[st\]e'\
 msearch 'gnome-search:\[file:///\]modified is 02/01/2001'

## SEE ALSO

[**msearch**(1)](/msearch/1.md), [**medusa-indexd**(1)](/medusa-indexd/1.md)
