Skip to main content

CLI app for Solr

Project description

Solar

This CLI tool provides help with some routine Solr operations:

  • Import / Export data
  • Import / Export configs
  • Re-index Collection (WIP)

Usage

Python version >=3.8 required

pip install solar-cli

Export

Export data

This command will save docs from <collection> to local folder ./data:

solar -c "<collection>" "https://<username>:<password>@localhost:8333" export ./data

Export nested documents

Solr can handle nested documents. To see nested structure of collection usually we add fl="*, [child]" to our query params. Solar can handle exporting nested documents by adding --nested flag:

solar -c "<collection>" "https://<username>:<password>@localhost:8333" export --nested ./data

Export config

If we want to save collection config, we can user export-config command:

solar -c "<collection>" "https://<username>:<password>@localhost:8333" export-config ./configs

This will all config files to local folder ./configs

Import

Import data

Later, we can import previously exported data with import command, and ./data/<collection>.json as source file:

solar "https://<username>:<password>@localhost:8333" import ./data/<collection>.json

We do not have to specify collection name, source .json already have collection name. However, if we want to import data as collection with different name, we can set this with -c flag:

solar -c "<new collection name>" "https://<username>:<password>@localhost:8333" import ./data/<collection>.json

Import config

Solar can help you import configsets to your Solr instance:

solar -c "https://<username>:<password>@localhost:8333" import-config <config folder path>

This command will read files from provide config path, zip them, and send to Solr. By default, created config name will be equal to config folder name. For example, if we import config from ./configs/products, Solar will create config named products.

If we want to override default name, we can use --name flag:

solar -c "https://<username>:<password>@localhost:8333" import-config --name "product-v2" <config folder path>

This will create config product-v2.

Also, we can overwrite existing config with --overwrite flag

This flag will add cleanup=true and overwrite=true params to request for creating config. However it is recommended to create config with the new name, because in some cases, Solr caches fields types, and some changes of new config will not be applied. Goog practice is version control your configs and name them with version identifier (commit hash, for example) Using this flag also requires that no collections is linked to this config

solar -c "https://<username>:<password>@localhost:8333" import-config --overwrite <config folder path>

Other

Remove config

Config <config name> can be removed from Solr with this command:

solar -c "https://<username>:<password>@localhost:8333" remove-config "<config name>"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

solar_cli-0.6.0.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

solar_cli-0.6.0-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

Details for the file solar_cli-0.6.0.tar.gz.

File metadata

  • Download URL: solar_cli-0.6.0.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.10.12 Linux/5.15.90.1-microsoft-standard-WSL2

File hashes

Hashes for solar_cli-0.6.0.tar.gz
Algorithm Hash digest
SHA256 37791fc76b21a8b31df89ebce2f21fde92b3c8c90a81b39a620772343fa4c1e2
MD5 394d68e8c5e7d56c9026122f35e05606
BLAKE2b-256 2053f623ad2f9c9350cae380080e7d193199fe8da903c1a0fe1f7d207aa95281

See more details on using hashes here.

File details

Details for the file solar_cli-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: solar_cli-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 15.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.10.12 Linux/5.15.90.1-microsoft-standard-WSL2

File hashes

Hashes for solar_cli-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ab0b9e4036adaa422f73e5b0e92e41957b19038b62d68d661b5a4ed0a08986bb
MD5 d73d101cfce592531b31f3459f190ee5
BLAKE2b-256 f50e8fdcac923dbd8b527958ed4540f99cd14358f2e24a786a321302be64897c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page