Is there a way to let the end user sort or filter products based on keywords?

Please check this article to know what is included in Site Search. You can make use of any of the elements that is given in this article. If you would like to use specific keyword, then you can make a use of Product Attributes. You can create as many attributes as you required through Admin > Preference > Product Attributes. To know more about how to create product Attribute, please check our article on Product Attribute. You need to create separate attribute for each keyword. Like for Keyword A you create Attribute A and for Keyword B create Attribute B and so on.
 
Once the attribute is created, you need to link your product attribute with the Keyword, and you can do that in product settings (Path: Admin > Site > Catalog > Product > Edit Product > Attributes Tab
 
 
 
Once you do this and search the product with Keyword on the site it will display the product.