def save(self, filename=None):
        if self.address.blockType == cacheAddress.CacheAddress.SEPARATE_FILE:
            shutil.copy(self.address.path + self.address.fileSelector,
                        filename)
        else:
            output = open(filename, 'wb')
            block = open(self.address.path + self.address.fileSelector, 'rb')
            block.seek(8192 + self.address.blockNumber*self.address.entrySize)
            output.write(block.read(self.size))
            block.close()
            output.close()
http://www.elasticsearch.org/guide/reference/query-dsl/exists-filter.html
dataset/ETHPy150Open JRBANCEL/Chromagnon/chromagnon/cacheData.py/CacheData.save--crossover with--dataset/ETHPy150Open ooici/elasticpy/elasticpy/filter.py/ElasticFilter.exists