[jira] [Comment Edited] (SOLR-12303) Subquery Doc transform doesn't inherit path from original request
[ https://issues.apache.org/jira/browse/SOLR-12303?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16465107#comment-16465107 ] Munendra S N edited comment on SOLR-12303 at 5/6/18 12:49 PM: -- [~mkhludnev] Reason for using *request.getPath()* instead of *qt* is that in case of HTTP Requests, there would be cases where *qt* won't be set. For client library(SolrJ) and test cases *qt* needs to be set to use a different handler. For HTTP Requests, it is not required. So, In case of HTTP request subquery won't inherit path(as qt need not be specified). Hence, *request.getPath()* needs to be used. In case of the client libraries, *qt* and *getPath()* would be same. In case of HTTP request, it could be different. Also, whenever *qt* is specified it is used but behavior mentioned in the documentation for HTTP request is different. *qt* is used for HTTP request if */select* is path and there is no handler with */select* [https://wiki.apache.org/solr/CoreQueryParameters] [https://wiki.apache.org/solr/SolrRequestHandler#Old_handleSelect.3Dtrue_Resolution_.28qt_param.29] https://lucene.apache.org/solr/guide/7_0/major-changes-in-solr-7.html#changes-to-default-behaviors - handleSelect change The path using *request.getPath()*, doesn't handle a case, * When */select* is not available and handleSelect=true. it should use *qt* (I can work on adding this functionality) was (Author: munendrasn): [~mkhludnev] Reason for using *request.getPath()* instead of *qt* is that in case of HTTP Requests, there would be cases where *qt* won't be set. For client library(SolrJ) and test cases *qt* needs to be set to use a different handler. For HTTP Requests, it is not required. So, In case of HTTP request subquery won't inherit path(as qt need not be specified). Hence, *request.getPath()* needs to be used. In case of the client libraries, *qt* and *getPath()* would be same. In case of HTTP request, it could be different. Also, whenever *qt* is specified it is used but behavior mentioned in the documentation for HTTP request is different. *qt* is used for HTTP request if */select* is path and there is no handler with */select* [https://wiki.apache.org/solr/CoreQueryParameters] [https://wiki.apache.org/solr/SolrRequestHandler#Old_handleSelect.3Dtrue_Resolution_.28qt_param.29] https://lucene.apache.org/solr/guide/7_2/requesthandlers-and-searchcomponents-in-solrconfig.html - handleSelect change The path using *request.getPath()*, doesn't handle a case, * When */select* is not available and handleSelect=true. it should use *qt* (I can work on adding this functionality) > Subquery Doc transform doesn't inherit path from original request > - > > Key: SOLR-12303 > URL: https://issues.apache.org/jira/browse/SOLR-12303 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) >Reporter: Munendra S N >Assignee: Mikhail Khludnev >Priority: Major > Attachments: SOLR-12303.patch, SOLR-12303.patch, SOLR-12303.patch, > SOLR-12303.patch, SOLR-12303.patch > > > {code:java} > localhost:8983/solr/k_test/search?sort=score desc,uniqueId > desc=AND=json={!parent which=parent_field:true score=max}({!edismax > v=$origQuery})=false=uniqueId=score=_children_:[subquery]=uniqueId=false=parent_field&_children_.fl=uniqueId&_children_.fl=score&_children_.rows=3=false&_children_.q={!edismax > qf=parentId v=$row.uniqueId}=1 > {code} > For this request, even though the path is */search*, the subquery request > would be fired on handler */select*. > Subquery request should inherit the parent request handler and there should > be an option to override this behavior. (option to override is already > available by specifying *qt*) -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Comment Edited] (SOLR-12303) Subquery Doc transform doesn't inherit path from original request
[ https://issues.apache.org/jira/browse/SOLR-12303?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16465107#comment-16465107 ] Munendra S N edited comment on SOLR-12303 at 5/6/18 12:32 PM: -- [~mkhludnev] Reason for using *request.getPath()* instead of *qt* is that in case of HTTP Requests, there would be cases where *qt* won't be set. For client library(SolrJ) and test cases *qt* needs to be set to use a different handler. For HTTP Requests, it is not required. So, In case of HTTP request subquery won't inherit path(as qt need not be specified). Hence, *request.getPath()* needs to be used. In case of the client libraries, *qt* and *getPath()* would be same. In case of HTTP request, it could be different. Also, whenever *qt* is specified it is used but behavior mentioned in the documentation for HTTP request is different. *qt* is used for HTTP request if */select* is path and there is no handler with */select* [https://wiki.apache.org/solr/CoreQueryParameters] [https://wiki.apache.org/solr/SolrRequestHandler#Old_handleSelect.3Dtrue_Resolution_.28qt_param.29] https://lucene.apache.org/solr/guide/7_2/requesthandlers-and-searchcomponents-in-solrconfig.html - handleSelect change The path using *request.getPath()*, doesn't handle a case, * When */select* is not available and handleSelect=true. it should use *qt* (I can work on adding this functionality) was (Author: munendrasn): [~mkhludnev] Reason for using *request.getPath()* instead of *qt* is that in case of HTTP Requests, there would be cases where *qt* won't be set. For client library(SolrJ) and test cases *qt* needs to be set to use a different handler. For HTTP Requests, it is not required. So, In case of HTTP request subquery won't inherit path(as qt need not be specified). Hence, *request.getPath()* needs to be used. In case of the client libraries, *qt* and *getPath()* would be same. In case of HTTP request, it could be different. Also, whenever *qt* is specified it is used but behavior mentioned in the documentation for HTTP request is different. *qt* is used for HTTP request if */select* is path and there is no handler with */select* [https://wiki.apache.org/solr/CoreQueryParameters] [https://wiki.apache.org/solr/SolrRequestHandler#Old_handleSelect.3Dtrue_Resolution_.28qt_param.29] The path using *request.getPath()*, doesn't handle a case, * When */select* is not available and handleSelect=true. it should use *qt* (I can work on adding this functionality) > Subquery Doc transform doesn't inherit path from original request > - > > Key: SOLR-12303 > URL: https://issues.apache.org/jira/browse/SOLR-12303 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) >Reporter: Munendra S N >Assignee: Mikhail Khludnev >Priority: Major > Attachments: SOLR-12303.patch, SOLR-12303.patch, SOLR-12303.patch, > SOLR-12303.patch, SOLR-12303.patch > > > {code:java} > localhost:8983/solr/k_test/search?sort=score desc,uniqueId > desc=AND=json={!parent which=parent_field:true score=max}({!edismax > v=$origQuery})=false=uniqueId=score=_children_:[subquery]=uniqueId=false=parent_field&_children_.fl=uniqueId&_children_.fl=score&_children_.rows=3=false&_children_.q={!edismax > qf=parentId v=$row.uniqueId}=1 > {code} > For this request, even though the path is */search*, the subquery request > would be fired on handler */select*. > Subquery request should inherit the parent request handler and there should > be an option to override this behavior. (option to override is already > available by specifying *qt*) -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Comment Edited] (SOLR-12303) Subquery Doc transform doesn't inherit path from original request
[ https://issues.apache.org/jira/browse/SOLR-12303?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16464893#comment-16464893 ] Mikhail Khludnev edited comment on SOLR-12303 at 5/5/18 8:50 PM: - reworked [^SOLR-12303.patch]. * I definitely anxious regarding {{request.path}} I've never use it and can't really understand the purpose that's why I use {{qt}}. * it boils down to question about inheriting main query params in subquery. It makes sense for {{qt}}, but not for {{fl}} that's how it's done explicitly * I used existing config. Also, I don't think tests like {{assertQEx(..."subq1.qt", "/bleh",..)}} make sense at all, they should pass (request fails) now as is. was (Author: mkhludnev): reworked [^SOLR-12303.xml]. * I definitely anxious regarding {{request.path}} I've never use it and can't really understand the purpose that's why I use {{qt}}. * it boils down to question about inheriting main query params in subquery. It makes sense for {{qt}}, but not for {{fl}} that's how it's done explicitly * I used existing config. > Subquery Doc transform doesn't inherit path from original request > - > > Key: SOLR-12303 > URL: https://issues.apache.org/jira/browse/SOLR-12303 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) >Reporter: Munendra S N >Assignee: Mikhail Khludnev >Priority: Major > Attachments: SOLR-12303.patch, SOLR-12303.patch, SOLR-12303.patch, > SOLR-12303.patch > > > {code:java} > localhost:8983/solr/k_test/search?sort=score desc,uniqueId > desc=AND=json={!parent which=parent_field:true score=max}({!edismax > v=$origQuery})=false=uniqueId=score=_children_:[subquery]=uniqueId=false=parent_field&_children_.fl=uniqueId&_children_.fl=score&_children_.rows=3=false&_children_.q={!edismax > qf=parentId v=$row.uniqueId}=1 > {code} > For this request, even though the path is */search*, the subquery request > would be fired on handler */select*. > Subquery request should inherit the parent request handler and there should > be an option to override this behavior. (option to override is already > available by specifying *qt*) -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org