Fimfiction's story search is a powerful tool that has many functions in order to help you find stories you want to read.
Examples
#fluttershy #rainbow-dash #romance wilson:>80
Returns highly rated flutterdash fics.
#human #romance ( #fluttershy OR #rainbow-dash ) AND views:<1000
Returns stories with humans shipped with Fluttershy or Rainbow Dash that haven't been viewed much.
title:"my little dashie" -#twilight-sparkle status:complete
Returns completed stories with the phrase "my little dashie" in the title not tagged with Twilight Sparkle.
My Little Dashie OR Fallout Equestria
Returns My Little Dashie and Fallout Equestria stories.
While the tool is powerful, there are limits to what you can do with it in order to keep the site nice and fast. There is a maximum query "cost" and each element you add to the query contributes to it. The site will let you know if you go over this cost, but it shouldn't impede any normal usage.
AND
The AND
operator can be used to make the search require both sides the expression. Note that the AND
must be capitalised or it will just count as the word 'and'. You can also substitute AND
for &&
Example:
Fallout Equestria AND Heroes
This search will return stories that match both "Fallout Equestria" and "Heroes"
OR
The OR
operator can be used to make the search require either sides of the expression. Note that the OR
must be capitalised or it will just count as the word 'or'. You can also substitute OR
for ||
Example:
Fallout Equestria OR My Little Dashie
This search will return stories that match either "My Little Dashie" or "Heroes"
Technical note: Scoring for OR expressions is done using a disjunction query with a tie breaker of 0. This means that for scoring (ie. sorting by relevance) the expression that scores the most is what contributes to the overall score. This makes it easier to find stories with one or another tag without overly inflating the score from having both.
Precedence
The OR operator has a higher precedence than AND so any OR expressions will be evaluated first.
Example:
Fluttershy AND Rainbow Dash OR Twilight Sparkle
This search is equivalent to Fluttershy AND (Rainbow Dash OR Twilight Sparkle)
Expressions can be negated by prefixing them with a -
Example:
-My Little Dashie
This search will return stories that do not match "My Little Dashie". Note that because this is a string, this prevents stories containing "my", "little" or "dashie" from returning which may not be what you intend. Make sure to use quoted strings when you want to negate an entire phrase.
Tags can be inserted into a search query in the form #tag
Example:
#fluttershy AND #rainbow-dash
This search will return stories that contain both the fluttershy and rainbow-dash tag. Note that this uses the tag id which is typically the tag with spaces replaced by hyphens. The editor makes this easy by showing a dropdown whenever you enter a # into the input box.
Bookshelves can be searched in queries.
Example:
bookshelf:1
This will return all stories in the Featured bookshelf, which has an ID of 1. You can find the ID of a bookshelf by looking at the URL.
Groups can be searched in queries.
Example:
group:393
This will return all stories in the Flutterdash group, which has an ID of 393. You can find the ID of a group by looking at the URL.
Expressions can be grouped together using parenthesis.
Example:
(Fluttershy AND Rainbow Dash) OR (Twilight Sparkle AND Rarity)
This search will return stories that match both "Fluttershy" and "Rainbow Dash" or stories that match "Twilight Sparkle" and Rarity
Strings can be included anywhere in a search string to be matched.
Example:
My Little Dashie
This will return any stories that match "My Little Dashie"
Strings can be included in quotes to match phrases.
Example:
"My Little Dashie"
This will return any stories that match the phrase "My Little Dashie"
Text fields
By default, string searches will be performed on the title, short description, description and tags of a story. By specifying a field, you can search in a specific field instead. Supported fields are title, short_description, description and tags.
Example:
title:My Little Dashie
This will return any stories that match "My Little Dashie" in the title
Numeric fields
Some fields support searching with a numeric range. For example, you might want to find stories which have at least 100 likes or stories with less than 10,000 words. Supported fields are words, views, rating, wilson, likes and dislikes
Example:
likes:>100
This will return any stories with at least 100 likes
Example:
views:<10000
This will return any stories with less than 10,000 views
Example:
words:10000-20000
This will return any stories with between 10,000 and 20,000 words.
Example:
wilson:>90
This will return any stories with a wilson score (rating) above 90.
Date fields
Approved date and updated date can be queried as dates. The date string can take one of two formats: absolute dates and pre selected time periods.
Example:
published:>2017-12-1
This will return any stories published after the first of December, 2017. The date is formatted as yyyy-mm-dd
.
Example:
updated:today
This will return any stories published in the last 24 hours. You can also use week, month and year.
Completion Status
Completion status can be searched with the status field.
Example:
status:complete
This returns all completed stories. The values that can be queried are complete, incomplete, hiatus and cancelled