# Full-text search match strategy.
$ cd full-sample
# Search for a multi-word term.
$ zk list -q --debug-style --match '"green thread"'
>
Green threads inbox/my59.md (just now)
>
> - …Programming language-provided threads are known as green threads, and languages that use these green threads will execute them in…
>
>Concurrency in Rust g7qa.md (just now)
>
> - …so it doesn't support [green threads](inbox/my59).
> * Crates exist to add support for green threads if needed.
> * Instead, Rust relies…
>
# Search for two terms (defaults to AND).
$ zk list -q --debug-style --match 'green channel'
>Concurrency in Rust g7qa.md (just now)
>
> - …runtime, so it doesn't support [green threads](inbox/my59).
> * Crates exist to add support for green threads if needed.
> * Instead, Rust…
>
# Search for two term by two --match flags (implicit AND).
$ zk list -q --debug-style --match 'green' --match 'channel'
>Concurrency in Rust g7qa.md (just now)
>
> - …runtime, so it doesn't support [green threads](inbox/my59).
> * Crates exist to add support for green threads if needed.
> * Instead, Rust…
>
# Search for two terms with explicit AND.
$ zk list -q --debug-style --match 'green AND channel'
>Concurrency in Rust g7qa.md (just now)
>
> - …runtime, so it doesn't support [green threads](inbox/my59).
> * Crates exist to add support for green threads if needed.
> * Instead, Rust…
>
# Search for two terms with OR.
$ zk list -q --debug-style --match 'green OR channel'
>Green threads inbox/my59.md (just now)
>
> - …Programming language-provided threads are known as green threads, and languages that use these green threads will execute them in…
>
>Concurrency in Rust g7qa.md (just now)
>
> - …runtime, so it doesn't support [green threads](inbox/my59).
> * Crates exist to add support for green threads if needed.
> * Instead, Rust…
>
>Channel fwsj.md (just now)
>
> - * Channels are a great approach for safe concurrency.
> * It's an implementation of the [message passing](4oma) pattern.
>
> :programming:
>
>Message passing 4oma.md (just now)
>
> - * A popular approach for safe concurrency is to use *message passing* instead of shared state.
> * Channels are an example of…
>
>Mutex inbox/er4k.md (just now)
>
> - …with a *locking system*.
> * Managing mutexes is tricky, using [channels](../fwsj) is an easier alternative.
> * The main risk is to…
>
# Exclude a term.
$ zk list -q --debug-style --match 'green -channel'
>Green threads inbox/my59.md (just now)
>
> - …Programming language-provided threads are known as green threads, and languages that use these green threads will execute them in…
>
# Search in the `title` field.
$ zk list -q --debug-style --match 'title:(green thread)'
>Green threads inbox/my59.md (just now)
>
> - > Many operating systems provide an API for creating new threads. This model where a language calls the operating system APIs…
>
# Search with a prefix in `title`.
$ zk list -q --debug-style --match 'title:^do*'
>Do not communicate by sharing memory; instead, share memory by communicating ref/7fto.md (just now)
>
> - * Advocates for the use of [message passing](4oma) instead of shared state.
> * A slogan initially coined by Rob Pike ([Effective…
>
>Don't speculate pywo.md (just now)
>
> - You have more to loose by doing market timing (jumping in and out of the stocks market). Remember, [the less…
>
# Search with a prefix.
$ zk list -q --debug-style --match 'mut*'
>Mutex inbox/er4k.md (just now)
>
> - * Abbreviation of *mutual exclusion*.
> * An approach to manage safely shared state by allowing only a single thread to access a…
>
>Data race error 3403.md (just now)
>
> - …Rust prevents *data races* by allowing only a single mutable reference of a value per scope.
>
> :programming:
>
>Concurrency in Rust g7qa.md (just now)
>
> - …data between threads:
> * [Channel](fwsj) for a safe [message passing](4oma) approach.
> * [Mutex](inbox/er4k) for managing shared state.
>
> :rust:programming:
>