[jira] [Commented] (SOLR-7054) a pure REST interface for all operations in Solr
[ https://issues.apache.org/jira/browse/SOLR-7054?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14480874#comment-14480874 ] Noble Paul commented on SOLR-7054: -- The objective is to have a single endpoint that normal REST users will understand. Once we define the behavior the we can think of implementing them as we wish > a pure REST interface for all operations in Solr > > > Key: SOLR-7054 > URL: https://issues.apache.org/jira/browse/SOLR-7054 > Project: Solr > Issue Type: Improvement >Reporter: Noble Paul > > It would be a single handler say {{/docs}} > GET would do a query > GET /docs is equivalent to /select/q=*:* > GET /docs?q=a:b will be equivalent to /select?q=a:b > GET /docs/docId will be equivalent to /select?q=id:docId > PUT/POST /docs is equivalent to /update and the default format for json would > be that of /update/json/docs > DELETE /docs/id will do a delete by id > DELETE /docs?q=x:val is delete by query > We can think of implementing this as a new {{RequestHandler}} without > changing anything in Solr. Itcan be configured as follows > {code:xml} >get="/select" > post="/update/json/docs" > put="/update/json/docs" > delete="/update"/> > {code} > > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-7054) a pure REST interface for all operations in Solr
[ https://issues.apache.org/jira/browse/SOLR-7054?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14296956#comment-14296956 ] Yonik Seeley commented on SOLR-7054: bq. We should have an endpoint to support POSTing a JSON DSL as body We can consider the request handlers as those endpoints... simply send a JSON body (GET or POST) to the existing request handlers like /select or /query or whatever (that's how I did it in heliosearch). > a pure REST interface for all operations in Solr > > > Key: SOLR-7054 > URL: https://issues.apache.org/jira/browse/SOLR-7054 > Project: Solr > Issue Type: Improvement >Reporter: Noble Paul > > It would be a single handler say {{/docs}} > GET would do a query > GET /docs is equivalent to /select/q=*:* > GET /docs?q=a:b will be equivalent to /select?q=a:b > GET /docs/docId will be equivalent to /select?q=id:docId > PUT/POST /docs is equivalent to /update and the default format for json would > be that of /update/json/docs > DELETE /docs/id will do a delete by id > DELETE /docs?q=x:val is delete by query -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-7054) a pure REST interface for all operations in Solr
[ https://issues.apache.org/jira/browse/SOLR-7054?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14296685#comment-14296685 ] Noble Paul commented on SOLR-7054: -- bq.GET /docs/ should probably map to real-time GET /get?id= ? I would prefer {{/docs/}} to be equivalent of {{/select?q=id:}} and {{/docs/?realtime=true}} for realtime get (or some other param) because no other operation in /docs is realtime by default bqWe should have an endpoint to support POSTing a JSON DSL as body such as Yes we should add a DSL. JSON is harder to type . How about hocon? > a pure REST interface for all operations in Solr > > > Key: SOLR-7054 > URL: https://issues.apache.org/jira/browse/SOLR-7054 > Project: Solr > Issue Type: Improvement >Reporter: Noble Paul > > It would be a single handler say {{/docs}} > GET would do a query > GET /docs is equivalent to /select/q=*:* > GET /docs?q=a:b will be equivalent to /select?q=a:b > GET /docs/docId will be equivalent to /select?q=id:docId > PUT/POST /docs is equivalent to /update and the default format for json would > be that of /update/json/docs > DELETE /docs/id will do a delete by id > DELETE /docs?q=x:val is delete by query -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-7054) a pure REST interface for all operations in Solr
[ https://issues.apache.org/jira/browse/SOLR-7054?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14296615#comment-14296615 ] Jan Høydahl commented on SOLR-7054: --- +1 to such a transition! Also for all the Admin stuff. {{GET /docs/}} should probably map to real-time GET {{/get?id=}} ? {{HEAD /docs/}} could do and "exists" with HTTP 200 for exists and HTTP 404 for not found (no body) We should have an endpoint to support POSTing a JSON DSL as body such as ES' {{_search}}. Perhaps some of [~yo...@apache.org]'s great work over at http://heliosearch.org/heliosearch-solr-json-request-api/ could be used? > a pure REST interface for all operations in Solr > > > Key: SOLR-7054 > URL: https://issues.apache.org/jira/browse/SOLR-7054 > Project: Solr > Issue Type: Improvement >Reporter: Noble Paul > > It would be a single handler say {{/docs}} > GET would do a query > GET /docs is equivalent to /select/q=*:* > GET /docs?q=a:b will be equivalent to /select?q=a:b > GET /docs/docId will be equivalent to /select?q=id:docId > PUT/POST /docs is equivalent to /update and the default format for json would > be that of /update/json/docs > DELETE /docs/id will do a delete by id > DELETE /docs?q=x:val is delete by query -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-7054) a pure REST interface for all operations in Solr
[ https://issues.apache.org/jira/browse/SOLR-7054?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14295688#comment-14295688 ] Noble Paul commented on SOLR-7054: -- bq.Commit. How do you express that? same as the /update handler POST /docs?commit=true bq. Default, etc. parameters? UpdateRequestChains? Do they just apply universally? haven't yet though through it fully. I would like to use the useParams feature my suggestion: different http method gets a separate paramset , write-params="update_param_set" read-params="select_paramset" {{write-params}} could be a short form for a union of {{post-params}}, {{put-params}}, {{delete-params}} whereas {{read-params}} could be a short form for a union of {{get-params}} , {{head-params}} Going forward we should open up full REST support to all paths . So we should adopt a common mechanism for separate param sets all HTTP methods example: {code:xml} {code} bq.What happens with custom end-points? Or is /docs just a new end-point and the rest maintain the old syntax? yes, you are right, /docs just a new end-point and mainly a replacement for {{/update/*}} , {{/select}} and {{/get}} > a pure REST interface for all operations in Solr > > > Key: SOLR-7054 > URL: https://issues.apache.org/jira/browse/SOLR-7054 > Project: Solr > Issue Type: Improvement >Reporter: Noble Paul > > It would be a single handler say {{/docs}} > GET would do a query > GET /docs is equivalent to /select/q=*:* > GET /docs?q=a:b will be equivalent to /select?q=a:b > PUT/POST /docs is equivalent to /update and the default format for json would > be that of /update/json/docs > DELETE /docs/id will do a delete by id > DELETE /docs?q=x:val is delete by query -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-7054) a pure REST interface for all operations in Solr
[ https://issues.apache.org/jira/browse/SOLR-7054?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14295603#comment-14295603 ] Alexandre Rafalovitch commented on SOLR-7054: - Some questions to guide this idea: 1. Commit. How do you express that? 2. Default, etc. parameters? UpdateRequestChains? Do they just apply universally? 3. What happens with custom end-points? Or is /docs just a new end-point and the rest maintain the old syntax? > a pure REST interface for all operations in Solr > > > Key: SOLR-7054 > URL: https://issues.apache.org/jira/browse/SOLR-7054 > Project: Solr > Issue Type: Improvement >Reporter: Noble Paul > > It would be a single handler say {{/docs}} > GET would do a query > GET /docs is equivalent to /select/q=*:* > GET /docs?q=a:b will be equivalent to /select?q=a:b > PUT/POST /docs is equivalent to /update and the default format for json would > be that of /update/json/docs > DELETE /docs/id will do a delete by id > DELETE /docs?q=x:val is delete by query -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org