You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@solr.apache.org by "Eric Pugh (Jira)" <ji...@apache.org> on 2024/11/13 20:34:00 UTC

[jira] [Resolved] (SOLR-14673) Add CLI for Streaming Expressions

     [ https://issues.apache.org/jira/browse/SOLR-14673?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eric Pugh resolved SOLR-14673.
------------------------------
    Fix Version/s: main (10.0)
       Resolution: Fixed

Done!

> 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
>             Fix For: main (10.0)
>
>         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-unsubscribe@solr.apache.org
For additional commands, e-mail: issues-help@solr.apache.org