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
setuptools
that 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.py
and 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