Re: Returning multiple fields in graph streaming expression response documents
Good to hear. Joel Bernstein http://joelsolr.blogspot.com/ On Sun, Jul 21, 2019 at 5:21 PM Ahmed Adel wrote: > Yeah, it turned out to be related to the data. The “fetch” method works > fine as you described, it’s just the data distribution that caused name > field not to be fetched in a number of responses. I tested it with two > other collections and it worked as expected as well. Thank you for your > help getting this running. > > Best, > A. Adel > > On Sun, Jul 21, 2019 at 2:36 AM Joel Bernstein wrote: > > > Ok, then it sounds like a different issue. Let's look at the logs > following > > a request and see what the issue is. There will be a log record that > shows > > the query that is sent to Solr by the fetch expression. When we look at > > that log we'll be able to see what the query is, and if results are > > returned. It could be a bug in the code or it could be something related > to > > the data that's being fetched. > > > > > > Joel Bernstein > > http://joelsolr.blogspot.com/ > > > > > > On Sat, Jul 20, 2019 at 5:21 PM Ahmed Adel wrote: > > > > > To validate this, I indexed the datasets and ran the same query on Solr > > > 6.5.0 environment (https://archive.apache.org/dist/lucene/solr/6.5.0/) > > > before cb9f15 commit gets into release but got the same response, no > > > additional fields, as Solr 8.1.1. I have used the default managed > schema > > > settings in both Solr versions, which I guess means qparser is not used > > for > > > /select in this case, is it? > > > > > > On Sat, Jul 20, 2019 at 2:02 AM Joel Bernstein > > wrote: > > > > > > > I suspect fetch is having problem due to this commit: > > > > > > > > > > > > > > > > > > https://github.com/apache/lucene-solr/commit/cb9f151db4b5ad5c5f581b6b8cf2e5916ddb0f35#diff-98abfc8855d347035205c6f3afc2cde3 > > > > > > > > Later local params were turned off for anything but the lucene > qparser. > > > > Which means this query doesn't work if /select is using edismax > etc... > > > > > > > > This needs to be fixed. > > > > Can you check to see if the qparser is for the /select handler on > your > > > > install? > > > > > > > > Anyway fetch needs to be reverted back to it's previous > implementation > > > > before the above commit basically broke it. > > > > > > > > > > > > > > > > > > > > Joel Bernstein > > > > http://joelsolr.blogspot.com/ > > > > > > > > > > > > On Fri, Jul 19, 2019 at 2:20 PM Ahmed Adel > wrote: > > > > > > > > > Hi - Tried swapping the equality sides but (surprisingly?) got the > > same > > > > > exact response. Any additional thoughts are appreciated. > > > > > > > > > > Best, > > > > > A. > > > > > http://aadel.io > > > > > > > > > > On Fri, Jul 19, 2019 at 5:27 PM Joel Bernstein > > > > > wrote: > > > > > > > > > > > Try: > > > > > > > > > > > > fetch(names, > > > > > > select( > > > > > > nodes(emails, > > > > > > walk="john...@apache.org->from", > > > > > > gather="to"), > > > > > > node as to_s), > > > > > > fl="name", > > > > > > on="to_s=email") > > > > > > > > > > > > > > > > > > According to the docs it looks like you have the fields reversed > on > > > the > > > > > > fetch. If that doesn't work, I'll investigate further. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Joel Bernstein > > > > > > http://joelsolr.blogspot.com/ > > > > > > > > > > > > > > > > > > On Fri, Jul 19, 2019 at 5:51 AM Ahmed Adel > > > wrote: > > > > > > > > > > > > > Hi Joel, > > > > > > > > > > > > > > Thank you for your thoughts. I tried the fetch function, > however, > > > the > > > > > > > response does not contain "fl" fields of the "fetch" > expression. > > > For > > > > > the > > > > > > > above example, the modified query is as follows: > > > > > > > > > > > > > > fetch(names, select(nodes(emails, > > > > > > > walk="john...@apache.org->from", > > > > > > > gather="to"), node as to_s), fl="name", on="email=to_s") > > > > > > > > > > > > > > > > > > > > > where "names" is a collection that contains two fields > > representing > > > > > pairs > > > > > > > of name and email: ("name", "email") > > > > > > > > > > > > > > The response returned is: > > > > > > > > > > > > > > { "result-set": { "docs": [ { "to_s": "john...@apache.org" > > > > > > > }, { "to_s": "johnsm...@apache.org" > > > > > > > }, > > > > > > > ... { "EOF": true, "RESPONSE_TIME": 33 } ] } } > > > > > > > > > > > > > > The response should have an additional "name" field in each > > > document > > > > > > > returned. Any additional thoughts are appreciated. > > > > > > > > > > > > > > Best, > > > > > > > A. > > > > > > > > > > > > > > On Thu, Jul 18, 2019 at 6:12 PM Joel Bernstein < > > joels...@gmail.com > > > > > > > > > > wrote: > > > > > > > > > > > > > > > Hi Ahmed, > > > > > > > > > > > > > > > > Take a look at the fetch > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
Re: Returning multiple fields in graph streaming expression response documents
Yeah, it turned out to be related to the data. The “fetch” method works fine as you described, it’s just the data distribution that caused name field not to be fetched in a number of responses. I tested it with two other collections and it worked as expected as well. Thank you for your help getting this running. Best, A. Adel On Sun, Jul 21, 2019 at 2:36 AM Joel Bernstein wrote: > Ok, then it sounds like a different issue. Let's look at the logs following > a request and see what the issue is. There will be a log record that shows > the query that is sent to Solr by the fetch expression. When we look at > that log we'll be able to see what the query is, and if results are > returned. It could be a bug in the code or it could be something related to > the data that's being fetched. > > > Joel Bernstein > http://joelsolr.blogspot.com/ > > > On Sat, Jul 20, 2019 at 5:21 PM Ahmed Adel wrote: > > > To validate this, I indexed the datasets and ran the same query on Solr > > 6.5.0 environment (https://archive.apache.org/dist/lucene/solr/6.5.0/) > > before cb9f15 commit gets into release but got the same response, no > > additional fields, as Solr 8.1.1. I have used the default managed schema > > settings in both Solr versions, which I guess means qparser is not used > for > > /select in this case, is it? > > > > On Sat, Jul 20, 2019 at 2:02 AM Joel Bernstein > wrote: > > > > > I suspect fetch is having problem due to this commit: > > > > > > > > > > > > https://github.com/apache/lucene-solr/commit/cb9f151db4b5ad5c5f581b6b8cf2e5916ddb0f35#diff-98abfc8855d347035205c6f3afc2cde3 > > > > > > Later local params were turned off for anything but the lucene qparser. > > > Which means this query doesn't work if /select is using edismax etc... > > > > > > This needs to be fixed. > > > Can you check to see if the qparser is for the /select handler on your > > > install? > > > > > > Anyway fetch needs to be reverted back to it's previous implementation > > > before the above commit basically broke it. > > > > > > > > > > > > > > > Joel Bernstein > > > http://joelsolr.blogspot.com/ > > > > > > > > > On Fri, Jul 19, 2019 at 2:20 PM Ahmed Adel wrote: > > > > > > > Hi - Tried swapping the equality sides but (surprisingly?) got the > same > > > > exact response. Any additional thoughts are appreciated. > > > > > > > > Best, > > > > A. > > > > http://aadel.io > > > > > > > > On Fri, Jul 19, 2019 at 5:27 PM Joel Bernstein > > > wrote: > > > > > > > > > Try: > > > > > > > > > > fetch(names, > > > > > select( > > > > > nodes(emails, > > > > > walk="john...@apache.org->from", > > > > > gather="to"), > > > > > node as to_s), > > > > > fl="name", > > > > > on="to_s=email") > > > > > > > > > > > > > > > According to the docs it looks like you have the fields reversed on > > the > > > > > fetch. If that doesn't work, I'll investigate further. > > > > > > > > > > > > > > > > > > > > > > > > > Joel Bernstein > > > > > http://joelsolr.blogspot.com/ > > > > > > > > > > > > > > > On Fri, Jul 19, 2019 at 5:51 AM Ahmed Adel > > wrote: > > > > > > > > > > > Hi Joel, > > > > > > > > > > > > Thank you for your thoughts. I tried the fetch function, however, > > the > > > > > > response does not contain "fl" fields of the "fetch" expression. > > For > > > > the > > > > > > above example, the modified query is as follows: > > > > > > > > > > > > fetch(names, select(nodes(emails, > > > > > > walk="john...@apache.org->from", > > > > > > gather="to"), node as to_s), fl="name", on="email=to_s") > > > > > > > > > > > > > > > > > > where "names" is a collection that contains two fields > representing > > > > pairs > > > > > > of name and email: ("name", "email") > > > > > > > > > > > > The response returned is: > > > > > > > > > > > > { "result-set": { "docs": [ { "to_s": "john...@apache.org" > > > > > > }, { "to_s": "johnsm...@apache.org" > > > > > > }, > > > > > > ... { "EOF": true, "RESPONSE_TIME": 33 } ] } } > > > > > > > > > > > > The response should have an additional "name" field in each > > document > > > > > > returned. Any additional thoughts are appreciated. > > > > > > > > > > > > Best, > > > > > > A. > > > > > > > > > > > > On Thu, Jul 18, 2019 at 6:12 PM Joel Bernstein < > joels...@gmail.com > > > > > > > > wrote: > > > > > > > > > > > > > Hi Ahmed, > > > > > > > > > > > > > > Take a look at the fetch > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://lucene.apache.org/solr/guide/8_0/stream-decorator-reference.html#fetch > > > > > > > > > > > > > > It probably makes sense to allow more field to be returned > from a > > > > nodes > > > > > > > expression as well. > > > > > > > > > > > > > > Joel Bernstein > > > > > > > http://joelsolr.blogspot.com/ > > > > > > > > > > > > > > > > > > > > > On Wed, Jul 17, 2019 at 3:12 AM Ahmed Adel > > > > wrote: > > > > > > > > > > > > > > > Hi, > > > > > > > > > > > > > > > > Thank
Re: Returning multiple fields in graph streaming expression response documents
Ok, then it sounds like a different issue. Let's look at the logs following a request and see what the issue is. There will be a log record that shows the query that is sent to Solr by the fetch expression. When we look at that log we'll be able to see what the query is, and if results are returned. It could be a bug in the code or it could be something related to the data that's being fetched. Joel Bernstein http://joelsolr.blogspot.com/ On Sat, Jul 20, 2019 at 5:21 PM Ahmed Adel wrote: > To validate this, I indexed the datasets and ran the same query on Solr > 6.5.0 environment (https://archive.apache.org/dist/lucene/solr/6.5.0/) > before cb9f15 commit gets into release but got the same response, no > additional fields, as Solr 8.1.1. I have used the default managed schema > settings in both Solr versions, which I guess means qparser is not used for > /select in this case, is it? > > On Sat, Jul 20, 2019 at 2:02 AM Joel Bernstein wrote: > > > I suspect fetch is having problem due to this commit: > > > > > > > https://github.com/apache/lucene-solr/commit/cb9f151db4b5ad5c5f581b6b8cf2e5916ddb0f35#diff-98abfc8855d347035205c6f3afc2cde3 > > > > Later local params were turned off for anything but the lucene qparser. > > Which means this query doesn't work if /select is using edismax etc... > > > > This needs to be fixed. > > Can you check to see if the qparser is for the /select handler on your > > install? > > > > Anyway fetch needs to be reverted back to it's previous implementation > > before the above commit basically broke it. > > > > > > > > > > Joel Bernstein > > http://joelsolr.blogspot.com/ > > > > > > On Fri, Jul 19, 2019 at 2:20 PM Ahmed Adel wrote: > > > > > Hi - Tried swapping the equality sides but (surprisingly?) got the same > > > exact response. Any additional thoughts are appreciated. > > > > > > Best, > > > A. > > > http://aadel.io > > > > > > On Fri, Jul 19, 2019 at 5:27 PM Joel Bernstein > > wrote: > > > > > > > Try: > > > > > > > > fetch(names, > > > > select( > > > > nodes(emails, > > > > walk="john...@apache.org->from", > > > > gather="to"), > > > > node as to_s), > > > > fl="name", > > > > on="to_s=email") > > > > > > > > > > > > According to the docs it looks like you have the fields reversed on > the > > > > fetch. If that doesn't work, I'll investigate further. > > > > > > > > > > > > > > > > > > > > Joel Bernstein > > > > http://joelsolr.blogspot.com/ > > > > > > > > > > > > On Fri, Jul 19, 2019 at 5:51 AM Ahmed Adel > wrote: > > > > > > > > > Hi Joel, > > > > > > > > > > Thank you for your thoughts. I tried the fetch function, however, > the > > > > > response does not contain "fl" fields of the "fetch" expression. > For > > > the > > > > > above example, the modified query is as follows: > > > > > > > > > > fetch(names, select(nodes(emails, > > > > > walk="john...@apache.org->from", > > > > > gather="to"), node as to_s), fl="name", on="email=to_s") > > > > > > > > > > > > > > > where "names" is a collection that contains two fields representing > > > pairs > > > > > of name and email: ("name", "email") > > > > > > > > > > The response returned is: > > > > > > > > > > { "result-set": { "docs": [ { "to_s": "john...@apache.org" > > > > > }, { "to_s": "johnsm...@apache.org" > > > > > }, > > > > > ... { "EOF": true, "RESPONSE_TIME": 33 } ] } } > > > > > > > > > > The response should have an additional "name" field in each > document > > > > > returned. Any additional thoughts are appreciated. > > > > > > > > > > Best, > > > > > A. > > > > > > > > > > On Thu, Jul 18, 2019 at 6:12 PM Joel Bernstein > > > > > wrote: > > > > > > > > > > > Hi Ahmed, > > > > > > > > > > > > Take a look at the fetch > > > > > > > > > > > > > > > > > > > > > > > > > > > https://lucene.apache.org/solr/guide/8_0/stream-decorator-reference.html#fetch > > > > > > > > > > > > It probably makes sense to allow more field to be returned from a > > > nodes > > > > > > expression as well. > > > > > > > > > > > > Joel Bernstein > > > > > > http://joelsolr.blogspot.com/ > > > > > > > > > > > > > > > > > > On Wed, Jul 17, 2019 at 3:12 AM Ahmed Adel > > > wrote: > > > > > > > > > > > > > Hi, > > > > > > > > > > > > > > Thank you for your reply. Could you give more details on the > > „join“ > > > > > > > operation, such as what the sides of the join and the joining > > > > condition > > > > > > > would be in this case? > > > > > > > > > > > > > > Best regards, > > > > > > > A. > > > > > > > > > > > > > > On Tue, Jul 16, 2019 at 2:02 PM markus kalkbrenner < > > > > > > > markus.kalkbren...@biologis.com> wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > You have to perform a „join“ to get more fields. > > > > > > > > > > > > > > > > > Am 16.07.2019 um 13:52 schrieb Ahmed Adel < > aa.0...@gmail.com > > >: > > > > > > > > > > > > > > > > > > Hi, > > > > > > > > > > > > > > > > > > How can multiple fields be
Re: Returning multiple fields in graph streaming expression response documents
To validate this, I indexed the datasets and ran the same query on Solr 6.5.0 environment (https://archive.apache.org/dist/lucene/solr/6.5.0/) before cb9f15 commit gets into release but got the same response, no additional fields, as Solr 8.1.1. I have used the default managed schema settings in both Solr versions, which I guess means qparser is not used for /select in this case, is it? On Sat, Jul 20, 2019 at 2:02 AM Joel Bernstein wrote: > I suspect fetch is having problem due to this commit: > > > https://github.com/apache/lucene-solr/commit/cb9f151db4b5ad5c5f581b6b8cf2e5916ddb0f35#diff-98abfc8855d347035205c6f3afc2cde3 > > Later local params were turned off for anything but the lucene qparser. > Which means this query doesn't work if /select is using edismax etc... > > This needs to be fixed. > Can you check to see if the qparser is for the /select handler on your > install? > > Anyway fetch needs to be reverted back to it's previous implementation > before the above commit basically broke it. > > > > > Joel Bernstein > http://joelsolr.blogspot.com/ > > > On Fri, Jul 19, 2019 at 2:20 PM Ahmed Adel wrote: > > > Hi - Tried swapping the equality sides but (surprisingly?) got the same > > exact response. Any additional thoughts are appreciated. > > > > Best, > > A. > > http://aadel.io > > > > On Fri, Jul 19, 2019 at 5:27 PM Joel Bernstein > wrote: > > > > > Try: > > > > > > fetch(names, > > > select( > > > nodes(emails, > > > walk="john...@apache.org->from", > > > gather="to"), > > > node as to_s), > > > fl="name", > > > on="to_s=email") > > > > > > > > > According to the docs it looks like you have the fields reversed on the > > > fetch. If that doesn't work, I'll investigate further. > > > > > > > > > > > > > > > Joel Bernstein > > > http://joelsolr.blogspot.com/ > > > > > > > > > On Fri, Jul 19, 2019 at 5:51 AM Ahmed Adel wrote: > > > > > > > Hi Joel, > > > > > > > > Thank you for your thoughts. I tried the fetch function, however, the > > > > response does not contain "fl" fields of the "fetch" expression. For > > the > > > > above example, the modified query is as follows: > > > > > > > > fetch(names, select(nodes(emails, > > > > walk="john...@apache.org->from", > > > > gather="to"), node as to_s), fl="name", on="email=to_s") > > > > > > > > > > > > where "names" is a collection that contains two fields representing > > pairs > > > > of name and email: ("name", "email") > > > > > > > > The response returned is: > > > > > > > > { "result-set": { "docs": [ { "to_s": "john...@apache.org" > > > > }, { "to_s": "johnsm...@apache.org" > > > > }, > > > > ... { "EOF": true, "RESPONSE_TIME": 33 } ] } } > > > > > > > > The response should have an additional "name" field in each document > > > > returned. Any additional thoughts are appreciated. > > > > > > > > Best, > > > > A. > > > > > > > > On Thu, Jul 18, 2019 at 6:12 PM Joel Bernstein > > > wrote: > > > > > > > > > Hi Ahmed, > > > > > > > > > > Take a look at the fetch > > > > > > > > > > > > > > > > > > > > https://lucene.apache.org/solr/guide/8_0/stream-decorator-reference.html#fetch > > > > > > > > > > It probably makes sense to allow more field to be returned from a > > nodes > > > > > expression as well. > > > > > > > > > > Joel Bernstein > > > > > http://joelsolr.blogspot.com/ > > > > > > > > > > > > > > > On Wed, Jul 17, 2019 at 3:12 AM Ahmed Adel > > wrote: > > > > > > > > > > > Hi, > > > > > > > > > > > > Thank you for your reply. Could you give more details on the > „join“ > > > > > > operation, such as what the sides of the join and the joining > > > condition > > > > > > would be in this case? > > > > > > > > > > > > Best regards, > > > > > > A. > > > > > > > > > > > > On Tue, Jul 16, 2019 at 2:02 PM markus kalkbrenner < > > > > > > markus.kalkbren...@biologis.com> wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > You have to perform a „join“ to get more fields. > > > > > > > > > > > > > > > Am 16.07.2019 um 13:52 schrieb Ahmed Adel >: > > > > > > > > > > > > > > > > Hi, > > > > > > > > > > > > > > > > How can multiple fields be returned in graph traversal > > streaming > > > > > > > expression > > > > > > > > response documents? For example, the following query: > > > > > > > > > > > > > > > > nodes(emails, > > > > > > > > walk="john...@apache.org->from", > > > > > > > > gather="to") > > > > > > > > > > > > > > > > > > > > > > > > returns these documents in the response: > > > > > > > > > > > > > > > > { > > > > > > > > "result-set": { > > > > > > > >"docs": [ > > > > > > > > { > > > > > > > >"node": "sl...@campbell.com", > > > > > > > >"collection": "emails", > > > > > > > >"field": "to", > > > > > > > >"level": 1 > > > > > > > > }, > > > > > > > > { > > > > > > > >"node": "catherine.per...@enron.com", > > > > > > > >"collection": "emails", > > > > > > > >
Re: Returning multiple fields in graph streaming expression response documents
I suspect fetch is having problem due to this commit: https://github.com/apache/lucene-solr/commit/cb9f151db4b5ad5c5f581b6b8cf2e5916ddb0f35#diff-98abfc8855d347035205c6f3afc2cde3 Later local params were turned off for anything but the lucene qparser. Which means this query doesn't work if /select is using edismax etc... This needs to be fixed. Can you check to see if the qparser is for the /select handler on your install? Anyway fetch needs to be reverted back to it's previous implementation before the above commit basically broke it. Joel Bernstein http://joelsolr.blogspot.com/ On Fri, Jul 19, 2019 at 2:20 PM Ahmed Adel wrote: > Hi - Tried swapping the equality sides but (surprisingly?) got the same > exact response. Any additional thoughts are appreciated. > > Best, > A. > http://aadel.io > > On Fri, Jul 19, 2019 at 5:27 PM Joel Bernstein wrote: > > > Try: > > > > fetch(names, > > select( > > nodes(emails, > > walk="john...@apache.org->from", > > gather="to"), > > node as to_s), > > fl="name", > > on="to_s=email") > > > > > > According to the docs it looks like you have the fields reversed on the > > fetch. If that doesn't work, I'll investigate further. > > > > > > > > > > Joel Bernstein > > http://joelsolr.blogspot.com/ > > > > > > On Fri, Jul 19, 2019 at 5:51 AM Ahmed Adel wrote: > > > > > Hi Joel, > > > > > > Thank you for your thoughts. I tried the fetch function, however, the > > > response does not contain "fl" fields of the "fetch" expression. For > the > > > above example, the modified query is as follows: > > > > > > fetch(names, select(nodes(emails, > > > walk="john...@apache.org->from", > > > gather="to"), node as to_s), fl="name", on="email=to_s") > > > > > > > > > where "names" is a collection that contains two fields representing > pairs > > > of name and email: ("name", "email") > > > > > > The response returned is: > > > > > > { "result-set": { "docs": [ { "to_s": "john...@apache.org" > > > }, { "to_s": "johnsm...@apache.org" > > > }, > > > ... { "EOF": true, "RESPONSE_TIME": 33 } ] } } > > > > > > The response should have an additional "name" field in each document > > > returned. Any additional thoughts are appreciated. > > > > > > Best, > > > A. > > > > > > On Thu, Jul 18, 2019 at 6:12 PM Joel Bernstein > > wrote: > > > > > > > Hi Ahmed, > > > > > > > > Take a look at the fetch > > > > > > > > > > > > > > https://lucene.apache.org/solr/guide/8_0/stream-decorator-reference.html#fetch > > > > > > > > It probably makes sense to allow more field to be returned from a > nodes > > > > expression as well. > > > > > > > > Joel Bernstein > > > > http://joelsolr.blogspot.com/ > > > > > > > > > > > > On Wed, Jul 17, 2019 at 3:12 AM Ahmed Adel > wrote: > > > > > > > > > Hi, > > > > > > > > > > Thank you for your reply. Could you give more details on the „join“ > > > > > operation, such as what the sides of the join and the joining > > condition > > > > > would be in this case? > > > > > > > > > > Best regards, > > > > > A. > > > > > > > > > > On Tue, Jul 16, 2019 at 2:02 PM markus kalkbrenner < > > > > > markus.kalkbren...@biologis.com> wrote: > > > > > > > > > > > > > > > > > > > > > > > You have to perform a „join“ to get more fields. > > > > > > > > > > > > > Am 16.07.2019 um 13:52 schrieb Ahmed Adel : > > > > > > > > > > > > > > Hi, > > > > > > > > > > > > > > How can multiple fields be returned in graph traversal > streaming > > > > > > expression > > > > > > > response documents? For example, the following query: > > > > > > > > > > > > > > nodes(emails, > > > > > > > walk="john...@apache.org->from", > > > > > > > gather="to") > > > > > > > > > > > > > > > > > > > > > returns these documents in the response: > > > > > > > > > > > > > > { > > > > > > > "result-set": { > > > > > > >"docs": [ > > > > > > > { > > > > > > >"node": "sl...@campbell.com", > > > > > > >"collection": "emails", > > > > > > >"field": "to", > > > > > > >"level": 1 > > > > > > > }, > > > > > > > { > > > > > > >"node": "catherine.per...@enron.com", > > > > > > >"collection": "emails", > > > > > > >"field": "to", > > > > > > >"level": 1 > > > > > > > }, > > > > > > > { > > > > > > >"node": "airam.arte...@enron.com", > > > > > > >"collection": "emails", > > > > > > >"field": "to", > > > > > > >"level": 1 > > > > > > > }, > > > > > > > { > > > > > > >"EOF": true, > > > > > > >"RESPONSE_TIME": 44 > > > > > > > } > > > > > > >] > > > > > > > } > > > > > > > } > > > > > > > > > > > > > > How can the query above be modified to return more document > > fields, > > > > > > > "subject" for example? > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > > > > A. > > > > > > > > > > > > > > > > > > > > > -- > Sent from my iPhone >
Re: Returning multiple fields in graph streaming expression response documents
Hi - Tried swapping the equality sides but (surprisingly?) got the same exact response. Any additional thoughts are appreciated. Best, A. http://aadel.io On Fri, Jul 19, 2019 at 5:27 PM Joel Bernstein wrote: > Try: > > fetch(names, > select( > nodes(emails, > walk="john...@apache.org->from", > gather="to"), > node as to_s), > fl="name", > on="to_s=email") > > > According to the docs it looks like you have the fields reversed on the > fetch. If that doesn't work, I'll investigate further. > > > > > Joel Bernstein > http://joelsolr.blogspot.com/ > > > On Fri, Jul 19, 2019 at 5:51 AM Ahmed Adel wrote: > > > Hi Joel, > > > > Thank you for your thoughts. I tried the fetch function, however, the > > response does not contain "fl" fields of the "fetch" expression. For the > > above example, the modified query is as follows: > > > > fetch(names, select(nodes(emails, > > walk="john...@apache.org->from", > > gather="to"), node as to_s), fl="name", on="email=to_s") > > > > > > where "names" is a collection that contains two fields representing pairs > > of name and email: ("name", "email") > > > > The response returned is: > > > > { "result-set": { "docs": [ { "to_s": "john...@apache.org" > > }, { "to_s": "johnsm...@apache.org" > > }, > > ... { "EOF": true, "RESPONSE_TIME": 33 } ] } } > > > > The response should have an additional "name" field in each document > > returned. Any additional thoughts are appreciated. > > > > Best, > > A. > > > > On Thu, Jul 18, 2019 at 6:12 PM Joel Bernstein > wrote: > > > > > Hi Ahmed, > > > > > > Take a look at the fetch > > > > > > > > > https://lucene.apache.org/solr/guide/8_0/stream-decorator-reference.html#fetch > > > > > > It probably makes sense to allow more field to be returned from a nodes > > > expression as well. > > > > > > Joel Bernstein > > > http://joelsolr.blogspot.com/ > > > > > > > > > On Wed, Jul 17, 2019 at 3:12 AM Ahmed Adel wrote: > > > > > > > Hi, > > > > > > > > Thank you for your reply. Could you give more details on the „join“ > > > > operation, such as what the sides of the join and the joining > condition > > > > would be in this case? > > > > > > > > Best regards, > > > > A. > > > > > > > > On Tue, Jul 16, 2019 at 2:02 PM markus kalkbrenner < > > > > markus.kalkbren...@biologis.com> wrote: > > > > > > > > > > > > > > > > > > > You have to perform a „join“ to get more fields. > > > > > > > > > > > Am 16.07.2019 um 13:52 schrieb Ahmed Adel : > > > > > > > > > > > > Hi, > > > > > > > > > > > > How can multiple fields be returned in graph traversal streaming > > > > > expression > > > > > > response documents? For example, the following query: > > > > > > > > > > > > nodes(emails, > > > > > > walk="john...@apache.org->from", > > > > > > gather="to") > > > > > > > > > > > > > > > > > > returns these documents in the response: > > > > > > > > > > > > { > > > > > > "result-set": { > > > > > >"docs": [ > > > > > > { > > > > > >"node": "sl...@campbell.com", > > > > > >"collection": "emails", > > > > > >"field": "to", > > > > > >"level": 1 > > > > > > }, > > > > > > { > > > > > >"node": "catherine.per...@enron.com", > > > > > >"collection": "emails", > > > > > >"field": "to", > > > > > >"level": 1 > > > > > > }, > > > > > > { > > > > > >"node": "airam.arte...@enron.com", > > > > > >"collection": "emails", > > > > > >"field": "to", > > > > > >"level": 1 > > > > > > }, > > > > > > { > > > > > >"EOF": true, > > > > > >"RESPONSE_TIME": 44 > > > > > > } > > > > > >] > > > > > > } > > > > > > } > > > > > > > > > > > > How can the query above be modified to return more document > fields, > > > > > > "subject" for example? > > > > > > > > > > > > Best regards, > > > > > > > > > > > > A. > > > > > > > > > > > > > > > -- Sent from my iPhone
Re: Returning multiple fields in graph streaming expression response documents
Try: fetch(names, select( nodes(emails, walk="john...@apache.org->from", gather="to"), node as to_s), fl="name", on="to_s=email") According to the docs it looks like you have the fields reversed on the fetch. If that doesn't work, I'll investigate further. Joel Bernstein http://joelsolr.blogspot.com/ On Fri, Jul 19, 2019 at 5:51 AM Ahmed Adel wrote: > Hi Joel, > > Thank you for your thoughts. I tried the fetch function, however, the > response does not contain "fl" fields of the "fetch" expression. For the > above example, the modified query is as follows: > > fetch(names, select(nodes(emails, > walk="john...@apache.org->from", > gather="to"), node as to_s), fl="name", on="email=to_s") > > > where "names" is a collection that contains two fields representing pairs > of name and email: ("name", "email") > > The response returned is: > > { "result-set": { "docs": [ { "to_s": "john...@apache.org" > }, { "to_s": "johnsm...@apache.org" > }, > ... { "EOF": true, "RESPONSE_TIME": 33 } ] } } > > The response should have an additional "name" field in each document > returned. Any additional thoughts are appreciated. > > Best, > A. > > On Thu, Jul 18, 2019 at 6:12 PM Joel Bernstein wrote: > > > Hi Ahmed, > > > > Take a look at the fetch > > > > > https://lucene.apache.org/solr/guide/8_0/stream-decorator-reference.html#fetch > > > > It probably makes sense to allow more field to be returned from a nodes > > expression as well. > > > > Joel Bernstein > > http://joelsolr.blogspot.com/ > > > > > > On Wed, Jul 17, 2019 at 3:12 AM Ahmed Adel wrote: > > > > > Hi, > > > > > > Thank you for your reply. Could you give more details on the „join“ > > > operation, such as what the sides of the join and the joining condition > > > would be in this case? > > > > > > Best regards, > > > A. > > > > > > On Tue, Jul 16, 2019 at 2:02 PM markus kalkbrenner < > > > markus.kalkbren...@biologis.com> wrote: > > > > > > > > > > > > > > > You have to perform a „join“ to get more fields. > > > > > > > > > Am 16.07.2019 um 13:52 schrieb Ahmed Adel : > > > > > > > > > > Hi, > > > > > > > > > > How can multiple fields be returned in graph traversal streaming > > > > expression > > > > > response documents? For example, the following query: > > > > > > > > > > nodes(emails, > > > > > walk="john...@apache.org->from", > > > > > gather="to") > > > > > > > > > > > > > > > returns these documents in the response: > > > > > > > > > > { > > > > > "result-set": { > > > > >"docs": [ > > > > > { > > > > >"node": "sl...@campbell.com", > > > > >"collection": "emails", > > > > >"field": "to", > > > > >"level": 1 > > > > > }, > > > > > { > > > > >"node": "catherine.per...@enron.com", > > > > >"collection": "emails", > > > > >"field": "to", > > > > >"level": 1 > > > > > }, > > > > > { > > > > >"node": "airam.arte...@enron.com", > > > > >"collection": "emails", > > > > >"field": "to", > > > > >"level": 1 > > > > > }, > > > > > { > > > > >"EOF": true, > > > > >"RESPONSE_TIME": 44 > > > > > } > > > > >] > > > > > } > > > > > } > > > > > > > > > > How can the query above be modified to return more document fields, > > > > > "subject" for example? > > > > > > > > > > Best regards, > > > > > > > > > > A. > > > > > > > > > >
Re: Returning multiple fields in graph streaming expression response documents
Hi Joel, Thank you for your thoughts. I tried the fetch function, however, the response does not contain "fl" fields of the "fetch" expression. For the above example, the modified query is as follows: fetch(names, select(nodes(emails, walk="john...@apache.org->from", gather="to"), node as to_s), fl="name", on="email=to_s") where "names" is a collection that contains two fields representing pairs of name and email: ("name", "email") The response returned is: { "result-set": { "docs": [ { "to_s": "john...@apache.org" }, { "to_s": "johnsm...@apache.org" }, ... { "EOF": true, "RESPONSE_TIME": 33 } ] } } The response should have an additional "name" field in each document returned. Any additional thoughts are appreciated. Best, A. On Thu, Jul 18, 2019 at 6:12 PM Joel Bernstein wrote: > Hi Ahmed, > > Take a look at the fetch > > https://lucene.apache.org/solr/guide/8_0/stream-decorator-reference.html#fetch > > It probably makes sense to allow more field to be returned from a nodes > expression as well. > > Joel Bernstein > http://joelsolr.blogspot.com/ > > > On Wed, Jul 17, 2019 at 3:12 AM Ahmed Adel wrote: > > > Hi, > > > > Thank you for your reply. Could you give more details on the „join“ > > operation, such as what the sides of the join and the joining condition > > would be in this case? > > > > Best regards, > > A. > > > > On Tue, Jul 16, 2019 at 2:02 PM markus kalkbrenner < > > markus.kalkbren...@biologis.com> wrote: > > > > > > > > > > > You have to perform a „join“ to get more fields. > > > > > > > Am 16.07.2019 um 13:52 schrieb Ahmed Adel : > > > > > > > > Hi, > > > > > > > > How can multiple fields be returned in graph traversal streaming > > > expression > > > > response documents? For example, the following query: > > > > > > > > nodes(emails, > > > > walk="john...@apache.org->from", > > > > gather="to") > > > > > > > > > > > > returns these documents in the response: > > > > > > > > { > > > > "result-set": { > > > >"docs": [ > > > > { > > > >"node": "sl...@campbell.com", > > > >"collection": "emails", > > > >"field": "to", > > > >"level": 1 > > > > }, > > > > { > > > >"node": "catherine.per...@enron.com", > > > >"collection": "emails", > > > >"field": "to", > > > >"level": 1 > > > > }, > > > > { > > > >"node": "airam.arte...@enron.com", > > > >"collection": "emails", > > > >"field": "to", > > > >"level": 1 > > > > }, > > > > { > > > >"EOF": true, > > > >"RESPONSE_TIME": 44 > > > > } > > > >] > > > > } > > > > } > > > > > > > > How can the query above be modified to return more document fields, > > > > "subject" for example? > > > > > > > > Best regards, > > > > > > > > A. > > > > > >
Re: Returning multiple fields in graph streaming expression response documents
Hi Ahmed, Take a look at the fetch https://lucene.apache.org/solr/guide/8_0/stream-decorator-reference.html#fetch It probably makes sense to allow more field to be returned from a nodes expression as well. Joel Bernstein http://joelsolr.blogspot.com/ On Wed, Jul 17, 2019 at 3:12 AM Ahmed Adel wrote: > Hi, > > Thank you for your reply. Could you give more details on the „join“ > operation, such as what the sides of the join and the joining condition > would be in this case? > > Best regards, > A. > > On Tue, Jul 16, 2019 at 2:02 PM markus kalkbrenner < > markus.kalkbren...@biologis.com> wrote: > > > > > > > You have to perform a „join“ to get more fields. > > > > > Am 16.07.2019 um 13:52 schrieb Ahmed Adel : > > > > > > Hi, > > > > > > How can multiple fields be returned in graph traversal streaming > > expression > > > response documents? For example, the following query: > > > > > > nodes(emails, > > > walk="john...@apache.org->from", > > > gather="to") > > > > > > > > > returns these documents in the response: > > > > > > { > > > "result-set": { > > >"docs": [ > > > { > > >"node": "sl...@campbell.com", > > >"collection": "emails", > > >"field": "to", > > >"level": 1 > > > }, > > > { > > >"node": "catherine.per...@enron.com", > > >"collection": "emails", > > >"field": "to", > > >"level": 1 > > > }, > > > { > > >"node": "airam.arte...@enron.com", > > >"collection": "emails", > > >"field": "to", > > >"level": 1 > > > }, > > > { > > >"EOF": true, > > >"RESPONSE_TIME": 44 > > > } > > >] > > > } > > > } > > > > > > How can the query above be modified to return more document fields, > > > "subject" for example? > > > > > > Best regards, > > > > > > A. > > >
Re: Returning multiple fields in graph streaming expression response documents
Hi, Thank you for your reply. Could you give more details on the „join“ operation, such as what the sides of the join and the joining condition would be in this case? Best regards, A. On Tue, Jul 16, 2019 at 2:02 PM markus kalkbrenner < markus.kalkbren...@biologis.com> wrote: > > > You have to perform a „join“ to get more fields. > > > Am 16.07.2019 um 13:52 schrieb Ahmed Adel : > > > > Hi, > > > > How can multiple fields be returned in graph traversal streaming > expression > > response documents? For example, the following query: > > > > nodes(emails, > > walk="john...@apache.org->from", > > gather="to") > > > > > > returns these documents in the response: > > > > { > > "result-set": { > >"docs": [ > > { > >"node": "sl...@campbell.com", > >"collection": "emails", > >"field": "to", > >"level": 1 > > }, > > { > >"node": "catherine.per...@enron.com", > >"collection": "emails", > >"field": "to", > >"level": 1 > > }, > > { > >"node": "airam.arte...@enron.com", > >"collection": "emails", > >"field": "to", > >"level": 1 > > }, > > { > >"EOF": true, > >"RESPONSE_TIME": 44 > > } > >] > > } > > } > > > > How can the query above be modified to return more document fields, > > "subject" for example? > > > > Best regards, > > > > A. >
Re: Returning multiple fields in graph streaming expression response documents
You have to perform a „join“ to get more fields. > Am 16.07.2019 um 13:52 schrieb Ahmed Adel : > > Hi, > > How can multiple fields be returned in graph traversal streaming expression > response documents? For example, the following query: > > nodes(emails, > walk="john...@apache.org->from", > gather="to") > > > returns these documents in the response: > > { > "result-set": { >"docs": [ > { >"node": "sl...@campbell.com", >"collection": "emails", >"field": "to", >"level": 1 > }, > { >"node": "catherine.per...@enron.com", >"collection": "emails", >"field": "to", >"level": 1 > }, > { >"node": "airam.arte...@enron.com", >"collection": "emails", >"field": "to", >"level": 1 > }, > { >"EOF": true, >"RESPONSE_TIME": 44 > } >] > } > } > > How can the query above be modified to return more document fields, > "subject" for example? > > Best regards, > > A.
Returning multiple fields in graph streaming expression response documents
Hi, How can multiple fields be returned in graph traversal streaming expression response documents? For example, the following query: nodes(emails, walk="john...@apache.org->from", gather="to") returns these documents in the response: { "result-set": { "docs": [ { "node": "sl...@campbell.com", "collection": "emails", "field": "to", "level": 1 }, { "node": "catherine.per...@enron.com", "collection": "emails", "field": "to", "level": 1 }, { "node": "airam.arte...@enron.com", "collection": "emails", "field": "to", "level": 1 }, { "EOF": true, "RESPONSE_TIME": 44 } ] } } How can the query above be modified to return more document fields, "subject" for example? Best regards, A.