You don't need to call flush(). In fact, we strongly recommend users don't call flush() interface manually. Milvus internally automatically flushes data.
The following workflow is good practice:
create_collection() ----> insert() ---> ..... ---> insert() ---> create_index() ----> load() ---> search()---> ... ---> search()
See: https://milvus.io/docs/index-vector-fields.md?tab=floating