I’m trying to create a business search with social features using ElasticSearch. I have a business directory, and users can interact with those businesses in different ways: b
Check out Titan https://github.com/thinkaurelius/titan/wiki/Using-Elastic-Search
It has a graph engine that can work with Elasticsearch as a back end. You can do a graph traversal like (me) -> (friend) -[review]-> (business) to find all of these connections and adjust the rank of your searches.