One core at 100% is to be expected if you're executing a long-running (unindexed) search over data that's mostly already in memory. What's not expected is that other concurrent operations (even on the same connection) should block. Generally that shouldn't happen. You might try turning up the logging level (to see more diagnostic and debug output) while executing these searches to see if there's any clue there about what's going on.