annosearch 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -2
- package/dist/iiif.js +1 -1
- package/dist/iiif.js.map +1 -1
- package/dist/index-config.yaml +8 -12
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,7 +1,47 @@
|
|
|
1
1
|
|
|
2
2
|
# Annotation Search
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
# AnnoSearch
|
|
5
|
+
|
|
6
|
+
AnnoSearch uses [Quickwit](https://quickwit.io) as its backend database to efficiently index and query [W3C Web Annotation](https://www.w3.org/TR/annotation-model/) data. AnnoSearch can ingest data directly from [IIIF](https://iiif.io/) resources such as IIIF collections and web annotation servers such as [Miiify](https://github.com/nationalarchives/miiify) and make it available to IIIF viewers through the [IIIF Content Search 2.0 API](https://iiif.io/api/search/2.0/). Annosearch supports type-safe ingestion using the [Maniiifest](https://github.com/jptmoore/maniiifest) library.
|
|
7
|
+
|
|
8
|
+
## Tutorial
|
|
9
|
+
|
|
10
|
+
We first need to create an index.
|
|
11
|
+
```
|
|
12
|
+
❯ annosearch init --index cookbook
|
|
13
|
+
Index created successfully
|
|
14
|
+
```
|
|
15
|
+
We can now load the index with the annotations referenced in a IIIF manifest.
|
|
16
|
+
```
|
|
17
|
+
❯ annosearch load --index cookbook --type Manifest --uri https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/manifest.json
|
|
18
|
+
Loading Manifest from https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/manifest.json into index cookbook
|
|
19
|
+
|+|
|
|
20
|
+
```
|
|
21
|
+
After Quickwit finishes ingesting and indexing the data we can perform a search.
|
|
22
|
+
```
|
|
23
|
+
❯ annosearch search --index cookbook --query brunnen
|
|
24
|
+
{
|
|
25
|
+
"@context": "http://iiif.io/api/search/2/context.json",
|
|
26
|
+
"id": "http://localhost:3000/cookbook/search?q=brunnen&page=0",
|
|
27
|
+
"type": "AnnotationPage",
|
|
28
|
+
"startIndex": 0,
|
|
29
|
+
"items": [
|
|
30
|
+
{
|
|
31
|
+
"body": {
|
|
32
|
+
"format": "text/plain",
|
|
33
|
+
"language": "de",
|
|
34
|
+
"type": "TextualBody",
|
|
35
|
+
"value": "Göttinger Marktplatz mit Gänseliesel Brunnen"
|
|
36
|
+
},
|
|
37
|
+
"id": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1/annopage-2/anno-1",
|
|
38
|
+
"motivation": "commenting",
|
|
39
|
+
"target": "https://iiif.io/api/cookbook/recipe/0266-full-canvas-annotation/canvas-1",
|
|
40
|
+
"type": "Annotation"
|
|
41
|
+
}
|
|
42
|
+
]
|
|
43
|
+
}
|
|
44
|
+
```
|
|
5
45
|
|
|
6
46
|
## Usage
|
|
7
47
|
|
|
@@ -48,7 +88,7 @@ Perform a search on a specified index.
|
|
|
48
88
|
annosearch search --index <index-id> --query <search-query> [--page <page-number>] [--motivation <motivation>] [--date <date-ranges>] [--user <users>]
|
|
49
89
|
```
|
|
50
90
|
|
|
51
|
-
- `query`:
|
|
91
|
+
- `query`: A space separated list of search query terms.
|
|
52
92
|
- `page`: Optional page number (defaults to 0).
|
|
53
93
|
- `motivation`: Optional space separated list of motivation terms.
|
|
54
94
|
- `date`: Optional space separated list of date ranges.
|
package/dist/iiif.js
CHANGED
|
@@ -11,7 +11,7 @@ function makeSearchResponse(indexId, data, searchUrl, query, motivation, user, m
|
|
|
11
11
|
const userParam = user ? `&user=${encodeURIComponent(user)}` : '';
|
|
12
12
|
const id = `${searchUrl}/${indexId}/search?q=${queryParam}${motivationParam}${dateParam}${userParam}`;
|
|
13
13
|
return {
|
|
14
|
-
"@context": "http://
|
|
14
|
+
"@context": "http://iiif.io/api/search/2/context.json",
|
|
15
15
|
id: `${id}&page=${page}`,
|
|
16
16
|
type: "AnnotationPage",
|
|
17
17
|
partOf: totalPages > 1 ? {
|
package/dist/iiif.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iiif.js","sourceRoot":"","sources":["../src/iiif.ts"],"names":[],"mappings":";;AAEA,gDAkCC;AAlCD,SAAgB,kBAAkB,CAAC,OAAe,EAAE,IAAS,EAAE,SAAiB,EAAE,KAAa,EAAE,UAAkB,EAAE,IAAY,EAAE,OAAe,EAAE,IAAY,EAAE,IAAY;IAC1K,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,eAAe,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1F,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,MAAM,EAAE,GAAG,GAAG,SAAS,IAAI,OAAO,aAAa,UAAU,GAAG,eAAe,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;IAEtG,OAAO;QACH,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"iiif.js","sourceRoot":"","sources":["../src/iiif.ts"],"names":[],"mappings":";;AAEA,gDAkCC;AAlCD,SAAgB,kBAAkB,CAAC,OAAe,EAAE,IAAS,EAAE,SAAiB,EAAE,KAAa,EAAE,UAAkB,EAAE,IAAY,EAAE,OAAe,EAAE,IAAY,EAAE,IAAY;IAC1K,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,eAAe,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1F,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,MAAM,EAAE,GAAG,GAAG,SAAS,IAAI,OAAO,aAAa,UAAU,GAAG,eAAe,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;IAEtG,OAAO;QACH,UAAU,EAAE,0CAA0C;QACtD,EAAE,EAAE,GAAG,EAAE,SAAS,IAAI,EAAE;QACxB,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;YACrB,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,IAAI,CAAC,QAAQ;YACpB,KAAK,EAAE;gBACH,EAAE,EAAE,GAAG,EAAE,SAAS;gBAClB,IAAI,EAAE,gBAAgB;aACzB;YACD,IAAI,EAAE;gBACF,EAAE,EAAE,GAAG,EAAE,SAAS,UAAU,GAAG,CAAC,EAAE;gBAClC,IAAI,EAAE,gBAAgB;aACzB;SACJ,CAAC,CAAC,CAAC,SAAS;QACb,UAAU,EAAE,IAAI,GAAG,OAAO;QAC1B,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,mBAC5B,GAAG,EACR,CAAC;QACH,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;QAC9D,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;KACjE,CAAC;AACN,CAAC"}
|
package/dist/index-config.yaml
CHANGED
|
@@ -2,18 +2,14 @@ version: "0.8"
|
|
|
2
2
|
|
|
3
3
|
doc_mapping:
|
|
4
4
|
mode: dynamic
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
- name: created
|
|
14
|
-
type: datetime
|
|
15
|
-
fast: true
|
|
16
|
-
|
|
5
|
+
dynamic_mapping:
|
|
6
|
+
indexed: true
|
|
7
|
+
stored: true
|
|
8
|
+
tokenizer: default
|
|
9
|
+
record: position
|
|
10
|
+
expand_dots: true
|
|
11
|
+
fast: true
|
|
12
|
+
|
|
17
13
|
|
|
18
14
|
|
|
19
15
|
|