Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ozlerhakan/solring
🔍 A tiny Solr import tool to save records of custom queries from Solr to local storage
https://github.com/ozlerhakan/solring
converter import python python3 solr solr-client solr-search solrcloud tool utility
Last synced: 2 months ago
JSON representation
🔍 A tiny Solr import tool to save records of custom queries from Solr to local storage
- Host: GitHub
- URL: https://github.com/ozlerhakan/solring
- Owner: ozlerhakan
- License: mit
- Created: 2021-10-31T19:41:35.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2021-11-06T17:26:47.000Z (about 3 years ago)
- Last Synced: 2024-10-07T18:48:33.056Z (3 months ago)
- Topics: converter, import, python, python3, solr, solr-client, solr-search, solrcloud, tool, utility
- Language: Python
- Homepage:
- Size: 7.81 KB
- Stars: 7
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Solring
Solring is an easy-to-use import tool from solr to local storage. By supporting various options we can create custom
queries and save from a running Solr server to a file.## How it works
```
$ pip install solring==0.0.2$ solring --help
usage: Solring.py [-h] [--version] --url URL [--output OUTPUT]
[--save_format {csv,txt}] --core CORE [--rows ROWS] [-fl FL]
[-q Q] [-fq FQ] [--score] [--qt QT]
{group} ...optional arguments:
-h, --help show this help message and exit
--version show program's version number and exit
--url URL, -u URL The host:port of the running solr.
--output OUTPUT, -o OUTPUT
Output file name.
--save_format {csv,txt}, -sf {csv,txt}
File type of saved records. Default is txt.
--core CORE, -c CORE The core/collection in solr.
--rows ROWS, -r ROWS The number of row numbers returned. By default, Solr
returns 5 batches at a time to save records.
-fl FL Field list to retrieve. By default, Solr returns the
id field.
-q Q Search query. By default, Solr returns all records.
-fq FQ Filter queries.
--score Learn score of each record in a score field.
--qt QT solr request handle to query on, default is '/select'.group command:
{group} group help
```The group command parameters:
```
$ solring group --help
usage: Solring.py group [-h] --group_fl GROUP_FL --group_agg
{mean,min,max,count} --group_column GROUP_COLUMNoptional arguments:
-h, --help show this help message and exit
--group_fl GROUP_FL The field(s) we want to use to group by.
--group_agg {mean,min,max,count}
Aggregation functions to use in group by. Default is
count.
--group_column GROUP_COLUMN
The field(s) where we want to aggregate.
```Create a custom query where the query we search for is 'boat', we have two filter queries, and we only need to know
their ids and titles as follows:```
solring --url http://127.0.0.1:8983\
-c boats \
-fq "cabin:[6 TO *]" \
-fq harbors:marmaris \
-q boat \
-fl id,title,boat_size,group_id$ ls
output.txt
```Let's now aggregate the above request with group options. We can learn the min and max of boats_size of each group:
```
solring --url http://127.0.0.1:8983\
-c boats \
-fq "cabin:[6 TO *]" \
-fq harbors:marmaris \
-q boat \
-r 100 \
-fl id,title,boat_size,group_id \
-o groupby_boats \
group --group_agg min --group_agg max --group_column boat_size --group_fl group_id$ ls æ
groupby_boats.txt
```
## LICENSEMIT