This service is a part of the ADS API. It is a tiny proxy in front of the SOLR.
Important
To avoid installation headaches it's strongly suggested that you use uv, a fast and flexible alternative to pip. We still have some Python infrastructure that runs on Python 2, which can cause package installation errors that are difficult to resolve without excluding newer package versions.
If you wish to install the service locally:
- create a python virtual environment using uv:
uv venv -p 3.9 venv/ - activate the new virtual environment:
source venv/bin/activate(or its Windows equivalent) - install dependencies, excluding newer versions of
setuptoolsthat break the installation:
uv pip install --exclude-newer='2022-01-01' -r requirements.txt && uv pip install --exclude-newer='2022-01-01' -r dev-requirements.txt
- create a
solr/local_config.pyand point at your SOLR instance, example:
SOLR_SERVICE_URL='http://localhost:8983/solr'
- start the solr-service
python cors.py
Note: normally, we run the solr-service using gunicorn (wsgi.py) behind the adsws gateway.
In this case, we use cors.py to run the solr-service as a standalone service (without needing
the ADS gateway).
Additional facets can be made available to users by specifying them in the Limits table. The table takes one facet along with an associated filter per user per line.
these entries are currently inserted manually
INSERT INTO public.limits (uid, field, filter)
VALUES (user_id, solr_field, filter);filter can be *:*.
The API documentation is available at: https://github.com/adsabs/adsabs.github.io/blob/new-api/content/v1/search.md