(((meta (@ (content . "Search operator") (name . "title"))) (meta (@ (content . "manual") (name . "role"))) (meta (@ (content . "#manual #search #zettelstore") (name . "tags"))) (meta (@ (content . "zmk") (name . "syntax"))) (meta (@ (content . "00001006032000 00001006033000 00001007700000 00001007701000 00001007702000") (name . "back"))) (meta (@ (content . "00001006032000 00001006033000 00001007700000 00001007701000 00001007702000 00001007706000") (name . "backward"))) (meta (@ (content . "1") (name . "box-number"))) (meta (@ (content . "(c) 2020-present by Detlef Stern ") (name . "copyright"))) (meta (@ (content . "20220805150154") (name . "created"))) (meta (@ (content . "00001006030000 00001007706000") (name . "forward"))) (meta (@ (content . "en") (name . "lang"))) (meta (@ (content . "EUPL-1.2-or-later") (name . "license"))) (meta (@ (content . "20230612180539") (name . "modified"))) (meta (@ (content . "20230612180539") (name . "published"))) (meta (@ (content . "public") (name . "visibility")))) (p "A search operator specifies how the comparison of a search value and a zettel should be executed." " " "Every comparison is done case-insensitive, treating all uppercase letters the same as lowercase letters.") (p "The following are allowed search operator characters:") (ul (li "The exclamation mark character (" (@L (@H "“") (kbd "!") (@H "”")) ", U+0021) negates the meaning.") (li "The equal sign character (" (@L (@H "“") (kbd "=") (@H "”")) ", U+003D) compares on equal content (" (@L (@H "“") "equals operator" (@H "”")) ").") (li "The tilde character (" (@L (@H "“") (kbd "~") (@H "”")) ", U+007E) compares on matching (" (@L (@H "“") "match operator" (@H "”")) ").") (li "The left square bracket character (" (@L (@H "“") (kbd "[") (@H "”")) ", U+005B) matches if there is some prefix (" (@L (@H "“") "prefix operator" (@H "”")) ").") (li "The right square bracket character (" (@L (@H "“") (kbd "]") (@H "”")) ", U+005D) compares a suffix relationship (" (@L (@H "“") "suffix operator" (@H "”")) ").") (li "The colon character (" (@L (@H "“") (kbd ":") (@H "”")) ", U+003A) compares depending on the on the actual " (a (@ (href . "00001006030000")) "key type") " (" (@L (@H "“") "has operator" (@H "”")) ")." " " "In most cases, it acts as a equals operator, but for some type it acts as the match operator.") (li "The less-than sign character (" (@L (@H "“") (kbd "<") (@H "”")) ", U+003C) matches if the search value is somehow less then the metadata value (" (@L (@H "“") "less operator" (@H "”")) ").") (li "The greater-than sign character (" (@L (@H "“") (kbd ">") (@H "”")) ", U+003E) matches if the search value is somehow greater then the metadata value (" (@L (@H "“") "greater operator" (@H "”")) ").") (li "The question mark (" (@L (@H "“") (kbd "?") (@H "”")) ", U+003F) checks for an existing metadata key (" (@L (@H "“") "exist operator" (@H "”")) ")." " " "In this case no " (a (@ (href . "00001007706000")) "search value") " must be given.")) (p "Since the exclamation mark character can be combined with the other, there are 18 possible combinations:") (ol (li (@L (@H "“") (kbd "!") (@H "”")) ": is an abbreviation of the " (@L (@H "“") (kbd "!~") (@H "”")) " operator.") (li (@L (@H "“") (kbd "~") (@H "”")) ": is successful if the search value matched the value to be compared.") (li (@L (@H "“") (kbd "!~") (@H "”")) ": is successful if the search value does not match the value to be compared.") (li (@L (@H "“") (kbd "=") (@H "”")) ": is successful if the search value is equal to one word of the value to be compared.") (li (@L (@H "“") (kbd "!=") (@H "”")) ": is successful if the search value is not equal to any word of the value to be compared.") (li (@L (@H "“") (kbd "[") (@H "”")) ": is successful if the search value is a prefix of the value to be compared.") (li (@L (@H "“") (kbd "![") (@H "”")) ": is successful if the search value is not a prefix of the value to be compared.") (li (@L (@H "“") (kbd "]") (@H "”")) ": is successful if the search value is a suffix of the value to be compared.") (li (@L (@H "“") (kbd "!]") (@H "”")) ": is successful if the search value is not a suffix of the value to be compared.") (li (@L (@H "“") (kbd ":") (@H "”")) ": is successful if the search value is has/match one word of the value to be compared.") (li (@L (@H "“") (kbd "!:") (@H "”")) ": is successful if the search value is not match/has to any word of the value to be compared.") (li (@L (@H "“") (kbd "<") (@H "”")) ": is successful if the search value is less than the value to be compared.") (li (@L (@H "“") (kbd "!<") (@H "”")) ": is successful if the search value is not less than, e.g. greater or equal than the value to be compared.") (li (@L (@H "“") (kbd ">") (@H "”")) ": is successful if the search value is greater than the value to be compared.") (li (@L (@H "“") (kbd "!>") (@H "”")) ": is successful if the search value is not greater than, e.g. less or equal than the value to be compared.") (li (@L (@H "“") (kbd "?") (@H "”")) ": is successful if the metadata contains the given key.") (li (@L (@H "“") (kbd "!?") (@H "”")) ": is successful if the metadata does not contain the given key.") (li (@L (@H "“") (kbd "") (@H "”")) ": a missing search operator can only occur for a full-text search." " " "It is equal to the " (@L (@H "“") (kbd "~") (@H "”")) " operator.")))