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/06/20 13:44:00 UTC
[jira] [Commented] (SOLR-14673) Add CLI for Streaming Expressions
[ https://issues.apache.org/jira/browse/SOLR-14673?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17856492#comment-17856492 ]
Eric Pugh commented on SOLR-14673:
----------------------------------
Not sure why it hasn't linked, but [https://github.com/apache/solr/pull/2479] is the PR
> 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
> Attachments: SOLR-14673.patch, SOLR-14673.patch, SOLR-14673.patch, SOLR-14673.patch, SOLR-14673.patch
>
> Time Spent: 0.5h
> 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