Patent ID: 8019778

Claim:
A searching system comprising: a plurality of information managing apparatuses, each of the information managing apparatuses managing one of a plurality of databases, the plurality of databases storing information in a distributed manner, the information including at least an item; and a searching apparatus that searches for the information from the information managing apparatuses, the plurality of information managing apparatuses and the searching apparatus being connected to one another by way of a network; wherein the searching apparatus includes: a search request receiving unit that receives a search request including a condition that the item should meet; a locality storing unit that stores a data attribute of the item, stores a type of the condition, and stores locality information in association with one another, the locality information indicating whether the item is distributed across the databases; a plan generating unit that analyzes the search request received by the search request receiving unit, and generates a search plan including a request of creating a logical sequence by merging pieces of sequence information and a plurality of requests of obtaining one of the pieces of the sequence information, each piece of the sequence information including the item in a list structure; a determining unit that obtains from the locality storing unit the locality information that corresponds to the data attribute of the item included in the each piece of the sequence information and the type of the condition that the item included in the each piece of the sequence information should meet, and determines whether the item included in the each piece of the sequence information is distributed across the databases in accordance with the obtained locality information; an updating unit that removes the request of creating the logical sequence from the search plan and thereby updates the search plan, when the determining unit determines that the item is not distributed across the databases; an execution requesting unit that sends an execution request of the search plan updated by the updating unit to the information managing apparatuses; and a result obtaining unit that receives an execution result of the search plan from the information managing apparatuses as a search result, and each of the information managing apparatuses includes: an execution request receiving unit that receives the execution request from the searching apparatus; and an executing unit that executes the search plan in accordance with the execution request received by the execution request receiving unit.