1. A server comprising: a memory; and a processor coupled to the memory, the processor configured to: access a plurality of files; manage a first content property including a first content property name and a first expression and a second content property including the first content property name and a second expression; extract, by using at least one of the first expression or the second expression, values from fields in individual files of the plurality of files, each of the fields expressed by the first expression or the second expression; index the individual files with the first content property name and one more respective extracted values; and search, when receiving a query specifying the first content property name and a specified value, one or more of the files that are indexed with the specified value, wherein: the individual files of the plurality of files include content data and metadata; the processor is configured to extract the values from the fields in the individual files by extracting values from fields in at least one of the content data or the metadata of the individual files; the metadata of a first file of the plurality of files includes a plurality of annotations as custom metadata related to the content data of the first file, the plurality of annotations including a first annotation generated by a first application and a second annotation generated by a second application; and the processor is configured to extract a first value from the first annotation based on the first content property and a second value from the second annotation based on the second content property.