Scid can perform several different types of searches. The main ones are:
Searches display their results by adjusting the Filter with matching games. By default they will Reset the Filter (ie - search the whole database). But one may also Add to, or Restrict the Filter, allowing complex searches to be built up.
With Position, Tree, and Material/Pattern searches, when you load a matching game it will automatically show the relevant game position, (except - in the unlikely event - that the position occurred after move 255 which causes a byte overflow).
Most searches only apply to the mainline of a game, and not to variations.
Positional Searches can also be performed by the Tree Window.
This search is for information stored in the game header (such as Player Names, Date etc) or PGN text of a game.
For a successful match, all fields must match.
The name fields (White, Black, Event, Site and Round) match on any text. They are case-insensitive and ignoring spaces. Eg - Michael will match a host of christian and surnames. But more precise matches can be got using wild-cards (? for 1 character, * for zero or more characters) - and enclosing the search in double quotes. For example - a search for the site USA will find American cities but also Lausanne SUI, which is probably not what you wanted! "*USA" (note the double-quotes) is how to find sites ending with USA. Another example - to find only games played in Round 1, use "1". Without the double-quotes, the Round field will also match 10, 21 etc.
If you are searching for a particular player (or pair of opponents) as White or Black and it does not matter what color they played, select the Ignore Colors option.
A search can also be done for a pre-game comment or final move comment. But these searches will *not* match hidden comments (ie - those starting with '[' *and* ending with ']').
Finally, the Header search can be used to find any text (case-sensitive and without wildcards) in the PGN representation of each game. You may enter up to three text phrases, and they must all appear in a game for it to be a match. This search is very useful for searching in the comments or extra tags of a game (such as lost on time or Annotator), or for a move sequence like Bxh7+ and Kxh7 for a bishop sacrifice on h7 that was accepted. However, this type of search can be very slow since all the games that match other criteria must be decoded and scanned for the text phrases. So it is a good idea to limit these searches as much as possible. Here are some examples. To find games with under-promotions to a rook, search for =R and also set the Promotions flag to Yes. When searching for text that would appear in comments, set the Comments flag to Yes. If you are searching for the moves Bxh7+ and Kxh7, you may want to restrict the search to games with a 1-0 result and at least 40 half-moves, for example, or do a material/pattern search first to find games where a white bishop moves to h7.
Note - if a search by ECO code is performed, games that have no ECO code attached are ignored.
Searching for extra PGN tags (such as "Annotator") can be done within the Maintenance Strip Tags feature.
This search finds games that contain the currently displayed position, ignoring castling and en passant rights.
There are four different board searches:
The pawns search is useful for studying openings by pawn structure, and the files and material searches are useful for finding similar positions in an endgame.
To search for an arbitrary position, set the board position
You can request that the search look in variations (instead of only examining actual game moves) by selecting Look in variations , but this may slow the search if your database is large with many games and variations.
This powerful feature is useful for finding end-game or middle-game themes. You can specify minimum and maximum amounts of each type of material, and patterns such as a bishop on f7, or a pawn on the f-file.
A number of common material and pattern settings are provided, such as Rook vs. Pawn endings, or isolated Queens pawns.
Scid vs. PC allows one to perform material searches that match the end position only; though these searches do not match games with non-standard starts and zero length.
Hint - The speed of pattern searches can vary widely, and be reduced by setting restrictions intelligently. For example, if you set the minimum move number to 20 for an ending, all games that end in under 20 moves can be skipped.
Move Searches allow one to search for particular moves and combinations. Enter the move(s) in the entry box, and matching positions will be found. Move combinations can extend unlimited, and to match any move, use a '?' character.
For example, use Rh8 ? R1h7 to find doubling of rooks on the H file.
The Check Test option allows one to input moves of the form Qh7+ (or Rh8#, but these checks slow the search down a little. Judicious use of Side to Move can speed up the search.
The Material/Pattern and Header Search windows provide a
Save button, enabling one to save the current
search settings to a SearchOptions file (.sso).
Loading this file is done from
Most searches produce a message indicating the time taken and the number of games that were skipped. A skipped game is one that can be excluded from the search without decoding any of its moves, based on information stored in the index. See the help page on file formats for more information.