Я ничего не знаю о Neo4j, но я думаю, что у этого постера есть смысл.Я не уверен, что именно для этого и был разработан Solr.Тем не менее, кое-что вы можете попробовать:
<field name="user_id" type="slong" indexed="true" stored="true" required="true" />
<field name="user_name" type="text" indexed="true" stored="true" required="true" />
<field name="friend_id" type="slong" indexed="true" stored="true" required="false" multiValued="true" />
Это позволяет каждому пользователю иметь от 0 до многих друзей в индексе Solr.Если у вас есть пользователь по имени «Джек Генри» с идентификатором user_id, равным 3, то найти друзей Джека Генри будет так же просто, как «? Q = friend_id: 3».Если у вас есть другой пользователь с именем «Peter Kate» с user_id, равным 2, то найти общих друзей Джека Генри и Питера Kate можно следующим образом: «? Q = friend_id: (2 AND 3)».Надеюсь, это поможет.