Search
Presented below are the available options for retrieving Annotations from the search endpoint at:
GET /search/
Results are returned as an AnnotationCollection that uses the usual structure.
The queries should be sent as JSON, although Using URL parameters should also work. If both a JSON body and URL parameters are sent with the request then the JSON body will take preference.
limit¶
Limit the Annotations returned.
{ "limit": 42 }
offset¶
Offset the first Annotation to be returned.
{ "offset": 42 }
collection¶
Return Annotations that belong to the given AnnotationCollection.
{ "collection": "https://example.org/annotations/my-container/" }
range¶
Return Annotations where the values for a set of keys fall within the
given ranges. The query below will return all Annotations created
between
2018-05-15T00:00:00Z
and 2018-05-17T00:00:00Z
. Note that when querying
a datetime field the ISO 8601 format shown here should be used.
{ "range": { "created": { "gte": "2018-05-15T00:00:00Z", "lte": "2018-05-17T00:00:00Z" } } }
The range
query accepts the following parameters for each field:
key | description |
---|---|
gte | Greater-than or equal to |
gt | Greater-than |
lte | Less-than or equal to |
lt | Less-than |
contains¶
Return Annotations that contain a specific value. The query below will
return all Annotations that contain a body
where the id
is
https://example.org/page1/
.
{ "contains": { "body": { "id": "https://example.org/page1/" } } }
fts¶
Return Annotations where the specified keys contain a query
. The following
query will return all Annotations where the body
contains any of the words
in some keywords
.
{ "fts": { "body": { "query": "some keywords" } } }
The fts
query accepts the following parameters for each field:
key | description |
---|---|
query | The search query (required) |
operator | Join tokens with and or or (default and ) |
prefix | Treat each token as a prefix (default True ) |
Full-text search language
The dictionary used for full-text searches is defined for each Annotation
by the first language
code found in the Annotation's body
. If no
such language code is found then the server default is used. See the
Configuration section for more details of
the available dictionaries.
fts_phrase¶
Return Annotations where the specified keys contain a query
phrase. The
following query will return all Annotations where the body
contains the
phrase that begins with Some partial phras
.
{ "fts_phrase": { "body": { "query": "Some partial phras" } } }
The fts_phrase
query accepts the following parameters for each field:
key | description |
---|---|
query | The search query (required) |
prefix | Treat the query as a prefix (default True ) |
distance | The distance between tokens (default 1 ) |
Exact phrase searches
Note that all phrase queries will be treated as prefixes; to search for
exact phrases use contains
instead.
deleted¶
Return or include deleted Annotations.
{ "deleted": "include" }
The deleted
query accepts the following parameters:
key | description |
---|---|
exclude | Exclude deleted Annotations (default) |
include | Include deleted Annotations |
only | Return only deleted Annotations |