[ 
https://issues.apache.org/jira/browse/SOLR-14673?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17898044#comment-17898044
 ] 

ASF subversion and git services commented on SOLR-14673:
--------------------------------------------------------

Commit 4b9e539257512801cf740d9bc142a95a99576103 in solr's branch 
refs/heads/main from Eric Pugh
[ https://gitbox.apache.org/repos/asf?p=solr.git;h=4b9e5392575 ]

SOLR-14673: Add bin/solr stream CLI  (#2479)

* Allows you to run a streaming expression on the Solr server, using the 
/stream end point.
* Allows you to run a streaming expression locally, by specifying 
--execution=local.

> Add CLI for Streaming Expressions
> ---------------------------------
>
>                 Key: SOLR-14673
>                 URL: https://issues.apache.org/jira/browse/SOLR-14673
>             Project: Solr
>          Issue Type: New Feature
>          Components: streaming expressions
>            Reporter: Joel Bernstein
>            Assignee: Eric Pugh
>            Priority: Major
>              Labels: pull-request-available
>         Attachments: SOLR-14673.patch, SOLR-14673.patch, SOLR-14673.patch, 
> SOLR-14673.patch, SOLR-14673.patch
>
>          Time Spent: 4h 40m
>  Remaining Estimate: 0h
>
> This ticket will provide a simple CLI that will run a Streaming Expression 
> from the command line and return the results as a delimited result set. This 
> will allow Streaming Expressions to be used from the command line to extract 
> data as well as load data into Solr. 
> Sample syntax:
> {code:java}
> bin/expr expr_file{code}
> This will run the expression in _expr_file_.
> Output will be to standard out as delimited records.  
> *Standard-In, Standard-out and Pipe Composition.*
> The CLI can read from *standard-in* and write to *standard-out* in delimited 
> records. This allows Streaming Expressions to be composed using unix pipes 
> with other command line tools and other streaming expressions. Example syntax:
> {code:java}
> cat data.csv | ./bin/expr load.expr {code}
> The load.expr file uses the *stndin()* function to read from standard-in and 
> load date to Solr. Here is a sample load.expr
> {code:java}
> let(cli-zkhost="localhost:9983",
>     
>     update(collection1,
>            parseCSV(stndin()))
>  {code}
> In the example above the *let* expression is used to set the *cli-zkhost* and 
> then run the Streaming Expression:
> {code:java}
> update(collection1,
>        parseCSV(stndin()){code}
> The *stndin* function reads the data from standard-in. The *parseCSV* 
> function parses the lines into tuples and the *update* function sends the 
> data to collection1 for indexing.
>  
> *Querying Solr and Pipe Composition*
> The CLI can also be used to query Solr and pipe the result to other 
> applications on the command line. This can automate activities like alerting, 
> data backup, replication etc...
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to