SIBiLS logo



SIBiLS PMC customizable search API

Description

This API allows to perform a fully customizable search for valuable annotated full-texts in PubMed Central. The power of SIBiLS is based on the efficiency of Elasticsearch engines, and on the rich Lucene query language, which allows to investigate a large panel of searching strategies. For example: basic search with keywords or entity identifiers (“ZBED1” or “NP_NX_O96006”), searches in specified fields (“figures_captions: ZBED1” or “annotations_str: genes”), boosting fields or query parts, Boolean, exploiting identified concepts or identified concept types...) The input is thus a Lucene json query. The output is the Elasticsearch ranked result set, ranked by relevance, in its native json format; for each retrieved full-text (up to 10,000 per request), a relevance score and the indexed content are included.

API endpoint :

candy.hesge.ch/SIBiLS/PMC/search.jsp

Mandatory input : keywords (&keywords=) for simple search, or json_query (&json_query=) for customizable search.

Example : simple search (&keywords) for PMC full-texts containing the "BRCA2" keyword in full-text

candy.hesge.ch/SIBiLS/PMC/search.jsp?keywords=BRCA2

Example : customizable search (&json_query) with a Lucene style json query

{"query": {"bool" : {"must": {"match" : { "figures_capations" : "Digitoxin metabolism" }},"should" : {"match" : { "annotations_str" : "GO" }},"boost": 1}}}

Code sample : a python script for demonstrating POST calls to the API, with multiple examples of Lucene style queries, is available at candy.hesge.ch/SIBiLS/PMC/PMC_search_POST_examples.py

Query language : json queries for Elasticsearch are described in www.elastic.co/guide/en/elasticsearch/reference/current/full-text-queries.html

Output

Output is an Elasticsearch response (json formatted), and includes retrieval scores for each citation.










Creative Commons License

Tagged entities are licensed under a Creative Commons Attribution 3.0 Switzerland License.

Questions specifically relating to these services may be sent to julien.gobeill@hesge.ch.