In this paper we present an online unsupervised method based on clustering to find defects in concrete structures using hammering. First, the initial dataset of sound samples is roughly clustered using the k-means algorithm with the k-means++ seeding procedure in order to find the cluster best representative of the structure. Then the regular model for the hammering sound, the centroid of this cluster, which is assumed to be the non-defective sound model, is established and finally used as a reference to conduct diagnosis on the whole dataset. During the model generation phase, topological information on the spatial distribution of samples is used to attribute varying importance to each sample and therefore take into account meticulous diagnosis of certain areas. The algorithm is fast and reliable enough to allow efficient diagnosis by running it each time a new sample is acquired. Tests on two commonly found types of defects, namely delamination and void type defects, were conducted on experimental test blocks and yielded satisfying results. This method also performed well in field environments.