Implement search by category and keywords
Extracted method: containsAll
Added comments to test cases
Merge branch 'Issue-64'