Skip to content

Implement IIIF Content Search 2.0 at /works/{id}/search#372

Merged
kdid merged 1 commit intodeploy/stagingfrom
iiif-content-state
Apr 27, 2026
Merged

Implement IIIF Content Search 2.0 at /works/{id}/search#372
kdid merged 1 commit intodeploy/stagingfrom
iiif-content-state

Conversation

@kdid
Copy link
Copy Markdown
Contributor

@kdid kdid commented Apr 24, 2026

Summary

Adds a IIIF Content Search 2.0 endpoint that lets viewers like Clover IIIF search within a work's transcription annotations and navigate to matching canvases.

What changed:

  • GET /works/{id}/search?as=iiif&q={query} - new endpoint that queries OpenSearch for Access file
    sets whose annotations.content matches the search term, then returns a IIIF AnnotationPage with one
    item per match. Each item targets the canvas URI and includes a ~100-character snippet around
    the matched text for sidebar highlighting in the viewer.
  • IIIF manifests now include a SearchService2 service entry pointing to the search endpoint so Clover
    can auto-discover it.
Screenshot 2026-04-24 at 12 19 06 PM

@kdid kdid force-pushed the iiif-content-state branch from a6ecb1f to 142a0de Compare April 24, 2026 20:16
Copy link
Copy Markdown
Member

@mbklein mbklein left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍🏻

Copy link
Copy Markdown
Contributor

@bmquinn bmquinn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reindexed my dev Meadow index and content search works great 👍 :
Image

@kdid kdid merged commit 87a1a1e into deploy/staging Apr 27, 2026
2 checks passed
@kdid kdid deleted the iiif-content-state branch April 27, 2026 15:53
@kdid kdid self-assigned this Apr 27, 2026
@mathewjordan
Copy link
Copy Markdown
Member

Love it!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants