You can get the nodes that to came from by adding trackTraversal=true
A cut'n'paste example from my Lucene/Solr Revolution slides:
curl $URL -d 'expr=gatherNodes(reviews,
search(reviews, q="user_s:Yonik AND rating_i:5",
fl="book_s,user_s,rating_i",sort="user_s asc"),
walk="book_s->book_s",
gather="user_s",
fq="rating_i:[4 TO *] -user_s:Yonik",
trackTraversal=true )'
{"result-set":{"docs":[
{"node":"Haruka","collection":"reviews","field":"user_s","ancestors":["book1"],"level":1},
{"node":"Maria","collection":"reviews","field":"user_s","ancestors":["book2"],"level":1},
{"EOF":true,"RESPONSE_TIME":22}]}}
-Yonik
On Tue, Oct 25, 2016 at 5:57 PM, Grant Ingersoll <[email protected]> wrote:
> Hi,
>
> I'm playing around with the new Graph Traversal/GatherNodes capabilities in
> Solr 6. I've been indexing Yago facts (
> http://www.mpi-inf.mpg.de/departments/databases-and-information-systems/research/yago-naga/yago/downloads/)
> which give me triples of something like subject-relationship-object (United
> States -> hasCapital -> Washington DC)
>
> My documents look like:
> subject: string
> relationship: string
> object: string
>
> I can do a simple gatherNodes like
> http://localhost:8983/solr/default/graph?expr=gatherNodes(default,
> walk="United_States->subject", gather="object") and get back the objects
> that relate to the subject. However, I don't see any way to capture what
> the relationship is in the response. IOW, the request above would just
> return a node of "Washington DC", but it doesn't tell me the relationship
> (i.e. I'd like to get Wash DC and hasCapital back somehow). Is there
> anyway to expand the "gather" or otherwise mark up the nodes returned with
> additional field attributes or maybe get additional graph info back?
>
> Thanks,
> Grant