Advanced Evernote Search

Comments

It isn’t immediately obvious, but Evernote offers advanced search operators.

Basic Evernote search

Evernote search is quite quirky. It is an ‘all’ search by default, and the order of the search operators matters.

word
Searching for word will match any occurrences of word, obviously, but also those starting with word (e.g. ‘wordpress’). In other words, think of it as the equivalent to word*. Note that this is not what it says in the Evernote API documentation, where it states “Words in the content of the note are split by whitespace or punctuation”. This is unfortunate, because sometimes you only want the exact match, but luckily you can use quotation marks in that case.
word*
Wildcards are allowed only at the end, and in theory potato* should match both ‘potatoes’ and ‘potato’ whereas potato should only match the singular. But in the Evernote app at least, the wildcard seems to be implied so this is redundant.
strange word
By default searches only returns notes that match all words, regardless of the order. strange word will match notes containing “this word is strange”, “this is a strange word”, and “Strange! […15 pars later…] my word”
“strange word” “word”
Quotation marks limit the search to an exact match, so this will only match “this is a strange word” in the previous example. You can also use quotation marks to remove the implied wildcard - word will also match wordpress and wording, but “word” (with the double quotes) will not.
-word
matches notes that do not contain words starting with “word”

Advanced search options: tag and intitle

They normally take the form option:value. Note that in these cases, the wildcards works - i.e., option:value is different from option:value*. The former means “any note where [option] is exactly [value]”, whereas the latter means “any note where [option] starts with [value]”.

nb:notebook
Only search notes assigned to notebook. This has to be the first search option.
this seems to have been removed in later versions
any:
match notes with any of the search terms instead of all. This has to be the first search option, or second if nb: is used.
tag:theTag
will match notes with tag theTag. Note that wildcards do work for tags, so this will match only theTag, not theTags
tag:theTag*
use wildcards for looser matches. Note that you can only put them at the end of a word.
tag:*
any tagged note
-tag:theTag*
match notes that don’t have tags starting with theTag.
intitle:theTitle
a title search. Exact matches only
intitle:theTitle*
title search using wildcards.
intitle:strange intitle:word
Matches all words, in any order, within the title.
intitle:”strange word”
exact match of sequence “strange word”. The algorithm seems a bit buggy - a note with title “this is a strange word” will be matched by intitle:”strange word”, intitle:”strange a word”, intitle:”strange that word” but not intitle:”strange b word” or intitle:”word strange”
-intitle:word
Excludes notes with “word” in the title.
intitle:strange -intitle:word
all notes with the word “strange” but not “word” in the title
author:name
Notes with author equal to ‘name’. Notes don’t have authors unless you create one yourself.

Search evernote by date

Evernote has some useful date searches capabilities. A date match means ‘since that date (and time)”. If you want to have a range of dates instead of just a starting point, use two dates, a positive one for the start and a negative one for the end - e.g. created:2009 -created:2011 for dates between 2009 and 2010.

Dates use either the ISO 8601 format or relative date format. ISO 8601 is either yyyyMMdd for dates or yyyyMMddTHHmmss for date times. The T is the actual capital ‘T’ to separate date and time, and the other letter stand for y=year, M=month etc.

The relative format is easier; the word “day” stands for midnight of current day; “week” = midnight of the closest sunday, in the past, to current day; “month” = midnight of 1st of current month; “year” = midnight of 1st of January of current year. You can also subtract an integer to refer to dates further back, e.g. day-2.

created:day
matches notes created since last midnight
updated:day-1
matches notes updated since midnight yesterday
created:week-2 -created:week
matches notes created last week (but not this week, because of the -created:week)
updated:20110411
matches notes updated since the 11th of April 2011
created:20110411T191500 -created:20110411T1202500
matches notes created between 19:15 and 20:25 of 11th of April 2011

More advanced search options

There are even more parameters some of which I had to dig out from the Thrift API files.

Resource

Resources match notes which include at least one of the MIME types you list. Using MIME types is good news, because you can, say, use resource:image/gif for matchin gif files, or resource:image/* for matching any image. Note: here’s the official list of MIME types.

resource:audio/*
Match notes with audio files embedded in them.
resource:application/pdf
Match notes with pdf files
resource:image/* -resource:image/gif
Match notes with images which are not gifs

SourceURL

The URL the note comes from. Note that you need to include the http:// as well if using wildcards. This is not as useful as it may seem, because wildcards only work at the end of the string, so you need to write out all possible variations of a url to be sure:

sourceurl:http://www.bbc* sourceurl:http://news.bbc* sourceurl:http://bbc*
Match notes from BBC websites, including news

Source

When you add a note, Evernote creates a ‘source’ attribute to keep track of where the note comes from - unless it was created from within Evernote itself.

source:app.ms.word
Matches notes created with the MS Word plugin
source:app.ms.*
Matches notes created with any Microsoft plugin
source:mail.smtp
Matches notes which were created by sending an email to your evernote account
source:web.clip
Notes created with one of the browser plugins
source:mobile.wn
Notes created with the mobile app
-source:*
Notes created within the Evernote app (i.e., with no source attribute)

Those are the useful Evernote search attributes.

There are other, like latitude and longitude, but they are more useful for software connecting to the API.

Comments