The format is similar to Google's search format. Each line is called a filter, and a filter can contain one or more keywords (separated by a space).
If there are more than one keywords, then the filter will match if all of those keywords match.
|Google Alerts alternative||Can anyone recommend an alternative to Google Alerts?|
|Google Alerts alternative||Can anyone recommend something similar to Google Alerts?|
Keywords are case insensitive. This behaviour is similar to what you would expect from a Google search.
By default word boundaries are taken into account and special characters such as ? or - are ignored. This behaviour is similar to what you would expect from a Google search.
To match words in order use the double quote ("). This behaviour is similar to what you would expect from a Google search.
|Google Alerts||Alerts by Google|
|"Google Alerts"||Alerts by Google|
You can match keywords exactly and skip word boundary logic by putting them in backticks (`). Matching is still case insensitive. This behaviour is similar to what you would expect from a text editor search.
Apply word boundary logic only to the beginning of a word by using the * operator. The * operator cannot be used in the middle or beginning of a word. When used in double quotes the * operator may only be used at the end.
|"good plug*"||good plugins|
Exclude certain keywords by prefixing them with NOT.
|NOT Google Alerts||I received a few alerts|
|NOT Google Alerts||Alerts by Google|
|Google Alerts NOT "Google Alerts"||Alerts by Google|
|Google Alerts NOT "Google Alerts"||Google Alerts|
Filters starting with "//" (two slashes) and empty lines are ignored.
Without a modifier a filter matches the title and the body of an item. Use "title:" to match the title only. For details on how titles are set for items that normally do not have titles (e.g. comments) see the individual backend documentation pages.
|title:"domain name*"||A problem with domain names|
|title:`Who is hiring?`||Ask HN: Who is hiring? (August 2019)|
|title:`Show HN:` title:"slack bot"||Show HN: I made a new Slack Bot|
|title:`Show HN:` title:"slack bot" NOT title:php||Show HN: I made a new Slack Bot in PHP|
Match a particular user with author:username (must match exactly). It makes most sense to combine it with site: documented below. If this keyword is specified more than once per filter, then only one of the authors must match. You can use NOT to exclude a particular user.
Match a particular site with site:urlsubstring (the URL must contain this string). If this keyword is specified more than once per filter, then only one of the sites must match. You can use NOT to exclude a particular site.
In a discussion thread there are two types of posts: the one that started the thread, and the replies. You can filter those with type:post or type:comment.
|site:news.ycombinator.com title:secur*||See what interesting security topics show up on Hacker News|
|site:indiehackers.com "slack bot"||See who's developing new Slack bots on Indie Hackers|
|"wordpress theme*" `?` NOT `https://`||Look for leads to pitch your Wordpress theme to, while excluding links to other themes|
|mailchimp NOT `?utm_source=mailchimp`||Get mentions about Mailchimp but avoid utm-tagged links|
Do a Google search for your filter. If the results are not satisfactory then it's unlikely Syften will find anything either. It's best to identify threads from the past that would have interested you, construct filters that would have matched them, and hope that in the future similar discussions will come up. Read more in our Constructing a Good Filter guide.
Avoid optimizing false positives too early. Start with a broad filter and learn how your audience talks, then refine it based on the real-world data you receive. Read more in our Hunting For Very Specific Leads guide.