search service refactor interface