A search engine identifies external data records that describe similar entities and may each conform to a different data format or source schema. The engine derives mappings capable of translating data values between differently formatted attributes of two source schemas and uses these mappings to identify degrees of similarity between attributes and schemas. When the search engine receives a search request, the engine translates submitted search criteria into values of a first schema's attributes and then uses the mappings to map those values onto selected attributes of other schemas. The search engine then uses each schema's selected attributes to select external data records formatted in that schema. Each selected record is assigned a match score that is weighted by the similarity of the record schema's selected attributes to the search criteria. Records are then retrieved in order of decreasing match score.
展开▼