For efficient substructure search we rely on the the fragment fingerprint from the OpenChem-Lib. The fragment fingerprint consists of 512 bits, containing the results of 512 separate searches for substructure features. These 512 substructure features are selected in a highly optimized way and can eliminate a high percentage of non-matching structures. Another key advantage of the fragment fingerprint over classic fingerprints is, that it can be used to create fingerprints from generalized substructure searches using query features of the OpenChemLib.