I moved some field termquery from MUST to Filter, and use TenantId as routing parameter. after that, i was able to query on 10Millions doc index with a reasonable time. (<1s)
found some useful documents
https://www.elastic.co/guide/en/elasticsearch/reference/5.5/query-filter-context.html