SIBiLS logo



SIBiLS MEDLINE customizable search API

Description

This API allows to perform a fully customizable search for valuable annotated citations in MEDLINE. 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 (“title: 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 citation (up to 10,000 per request), a relevance score and the indexed content are included.

API endpoint :

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

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

Example : simple search (&keywords) for MEDLINE citations containing the "BRCA2" keyword in title or abstract.

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

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

{"query": {"bool" : {"must": {"match" : { "title" : "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/MEDLINE/MEDLINE_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 a native 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.