To be sure: we are dealing here with a large graph, so all V().has('property1', 'vertex...') steps do hit the index (no index log warnings)? For one, it would be interesting to see the output of the .profile() step.
My earlier suggestion did not make much sense as it limited the inV() step() not a full in() step.
Indeed, retrieving just about 50 vertices should return within a second.
Best wishes, Marc