> Adding multi-value field support is a fairly high priority so I would > expect this to be coming in a future release.
I got this question from a client of mine as well. Trying to find a JIRA issue for multi value support, is there one? -- Jan Høydahl, search solution architect Cominvent AS - www.cominvent.com > 11. mar. 2017 kl. 03:21 skrev Joel Bernstein <joels...@gmail.com>: > > Currently gatherNodes only works on single value fields. You can seed a > gatherNodes with a facet() expression which works with multi-value fields, > but after that it only works with single value fields. > > So you would have to index the data as a graph like this: > > id, concept1, participant1 > id, concept1, participant2 > id, concept2, participant1 > id, concept2, participant3 > id, concept3, participant2 > .... > > Then you walk the graph like this: > > gatherNodes(mydata, > gatheNodes(mydata, walk="concept1->conceptID", > gather="participantID") > walk="node->particpantID", > gather="conceptID") > > This is a two step graph expression: > 1) Gathers all the participantID's where concept1 is in the conceptID > field. > 2) Gathers all the conceptID's for the participantID's gathered in step 1. > > Let me know if you have other questions about how to structure the data or > run the queries. > > > > > > > > > Adding multi-value field support is a fairly high priority so I would > expect this to be coming in a future release. > > > > > Joel Bernstein > http://joelsolr.blogspot.com/ > > On Fri, Mar 10, 2017 at 5:15 PM, Pratik Patel <pra...@semandex.net> wrote: > >> I am trying to do a graph traversal query using gatherNode function. I am >> seeding a streaming expression to get some documents and then I am trying >> to map their ids(conceptid) to a multi valued field "participantIds" and >> gather nodes. >> >> Here is the query I am doing. >> >> >> gatherNodes(collection1, >>> search(collection1,q="*:*",fl="conceptid",sort="conceptid >>> asc",fq=storeid:"524efcfd505637004b1f6f24",fq=tags:"Project"), >>> walk=conceptid->participantIds, >>> gather="conceptid") >> >> >> The field participantIds is a multi valued field. This is the field which >> holds connections between the documents. When I execute this query, I get >> exception as below. >> >> >> { "result-set": { "docs": [ { "EXCEPTION": >> "java.util.concurrent.ExecutionException: java.lang.RuntimeException: >> java.io.IOException: java.util.concurrent.ExecutionException: >> java.io.IOException: --> >> http://169.254.40.158:8081/solr/collection1_shard1_replica1/:can not sort >> on multivalued field: participantIds", "EOF": true, "RESPONSE_TIME": 15 } ] >> } } >> >> >> Does this mean you can not look into multivalued fields in graph traversal >> query? In our solr index, we have documents having "conceptid" field which >> is id and we have participantIds which is a multivalued field storing >> connections of that documents to other documents. I believe we need to have >> one field in document which stores connections of that document so that >> graph traversal is possible. If not, what is the other the way to index >> graph data and use graph traversal. I am trying to explore graph traversal >> and am new to it. Any help would be appreciated. >> >> Thanks, >> Pratik >>