You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Text Search endpoint performs a full-text search across Annotation text content. It searches for exact word matches and tokenizes the search text, finding documents that contain all the search terms anywhere in their text content.
533
533
</p>
534
534
<p>
535
-
The search covers multiple text fields depending on the syntax of objects. In particular it covers the current Web Annotation syntax, IIIF Presentation API 2.1 syntax, and IIIF Presentation API 3.0 syntax. See below for specific details.
535
+
The search covers multiple text fields depending on the syntax of objects. In particular it covers the current Web Annotation syntax, IIIF Presentation API 3.0 syntax, and IIIF Presentation API 2.1 syntax<spanclass="dep" title="When creating new data be IIIF Presentation API 3.0 compliant!">⚠️</span>. See below for specific details.
536
536
</p>
537
537
<ul>
538
-
<li><strong>IIIF 3.0 fields:</strong><codeclass="language-plaintext highlighter-rouge">body.value</code>, <codeclass="language-plaintext highlighter-rouge">bodyValue</code>, and nested structures in <codeclass="language-plaintext highlighter-rouge">items</code> and<codeclass="language-plaintext highlighter-rouge">annotations</code></li>
539
-
<li><strong>IIIF 2.1 fields:</strong><codeclass="language-plaintext highlighter-rouge">resource.chars</code>, <codeclass="language-plaintext highlighter-rouge">resource.cnt:chars</code>, and nested structures in AnnotationLists, Canvas <codeclass="language-plaintext highlighter-rouge">otherContent</code>, and Manifest <codeclass="language-plaintext highlighter-rouge">sequences</code></li>
538
+
<li><strong>IIIF Presentation API 3.0 & Web Annotation fields:</strong>Annotation <codeclass="language-plaintext highlighter-rouge">body.value</code>, Annotation <codeclass="language-plaintext highlighter-rouge">bodyValue</code>, and nested structures in AnnotationPage <codeclass="language-plaintext highlighter-rouge">items</code>, Canvas<codeclass="language-plaintext highlighter-rouge">annotations</code>, and Manifest <codeclass="language-plaintext highlighter-rouge">items</code>.</li>
539
+
<li><strong>IIIF Presentation API 2.1 fields<spanclass="dep" title="When creating new data be IIIF Presentation API 3.0 compliant!">⚠️</span>:</strong>oa:Annotation <codeclass="language-plaintext highlighter-rouge">resource.chars</code>, oa:Annotation <codeclass="language-plaintext highlighter-rouge">resource.cnt:chars</code>, and nested structures in sc:AnnotationList <codeclass="language-plaintext highlighter-rouge">resources</code>, sc:Canvas <codeclass="language-plaintext highlighter-rouge">otherContent</code>, and sc:Manifest <codeclass="language-plaintext highlighter-rouge">sequences</code>.</li>
540
540
</ul>
541
541
<p>
542
542
To allow for more records in the response one can add the URL parameter <code>limit</code> to the search requests. If you expect the search request will have a very large response with many objects, your application should use a paged search by also using the <code>skip</code> URL parameter. You will see an example of this below.
<li>Results will only include Web Annotation, IIIF Presentation API 3.0, and IIIF Presentation API 2.1 resource types that have the text embedded within their structure.</li>
549
+
<li>Results will only include Web Annotation, IIIF Presentation API 3.0, and IIIF Presentation API 2.1<spanclass="dep" title="When creating new data be IIIF Presentation API 3.0 compliant!">⚠️</span> resource types that have the text embedded within their structure.</li>
550
550
<li>Searches are case-insensitive</li>
551
+
<li>Partial word matches and wildcards are NOT supported in this search</li>
551
552
<li>Standard linguistic analysis is applied (stemming, stop words, etc.)</li>
552
553
<li>Multi-word searches find documents containing <strong>all</strong> the words (AND logic)</li>
553
-
<li>Partial word matches are NOT supported in this search (coming soon)</li>
554
554
<li>Results are sorted by relevance score (highest first)</li>
555
555
<li>A <codeclass="language-plaintext highlighter-rouge">__rerum.score</code> property is added to each result indicating match quality</li>
The Phrase Search endpoint performs a proximity-based search for multi-word phrases, finding documents where search terms appear near each other in sequence. This is more precise than standard text search for multi-word queries while still being flexible enough to allow for minor variations.
651
651
</p>
652
652
<p>
653
-
The search covers multiple text fields depending on the syntax of objects. In particular it covers the current Web Annotation syntax, IIIF Presentation API 2.1 syntax, and IIIF Presentation API 3.0 syntax. See below for specific details.
653
+
The search covers multiple text fields depending on the syntax of objects. In particular it covers the current Web Annotation syntax, IIIF Presentation API 3.0 syntax, and IIIF Presentation API 2.1 syntax<spanclass="dep" title="When creating new data be IIIF Presentation API 3.0 compliant!">⚠️</span>. See below for specific details.
654
654
</p>
655
655
<ul>
656
-
<li><strong>IIIF 3.0 fields:</strong><codeclass="language-plaintext highlighter-rouge">body.value</code>, <codeclass="language-plaintext highlighter-rouge">bodyValue</code>, and nested structures in <codeclass="language-plaintext highlighter-rouge">items</code> and<codeclass="language-plaintext highlighter-rouge">annotations</code></li>
657
-
<li><strong>IIIF 2.1 fields:</strong><codeclass="language-plaintext highlighter-rouge">resource.chars</code>, <codeclass="language-plaintext highlighter-rouge">resource.cnt:chars</code>, and nested structures in AnnotationLists, Canvas <codeclass="language-plaintext highlighter-rouge">otherContent</code>, and Manifest <codeclass="language-plaintext highlighter-rouge">sequences</code></li>
656
+
<li><strong>IIIF Presentation API 3.0 & Web Annotation fields:</strong>Annotation <codeclass="language-plaintext highlighter-rouge">body.value</code>, Annotation <codeclass="language-plaintext highlighter-rouge">bodyValue</code>, and nested structures in AnnotationPage <codeclass="language-plaintext highlighter-rouge">items</code>, Canvas<codeclass="language-plaintext highlighter-rouge">annotations</code>, and Manifest <codeclass="language-plaintext highlighter-rouge">items</code>.</li>
657
+
<li><strong>IIIF Presentation API 2.1 fields<spanclass="dep" title="When creating new data be IIIF Presentation API 3.0 compliant!">⚠️</span>:</strong>oa:Annotation <codeclass="language-plaintext highlighter-rouge">resource.chars</code>, oa:Annotation <codeclass="language-plaintext highlighter-rouge">resource.cnt:chars</code>, and nested structures in sc:AnnotationList <codeclass="language-plaintext highlighter-rouge">resources</code>, sc:Canvas <codeclass="language-plaintext highlighter-rouge">otherContent</code>, and sc:Manifest <codeclass="language-plaintext highlighter-rouge">sequences</code>.</li>
658
658
</ul>
659
659
<p>
660
660
To allow for more records in the response one can add the URL parameter <code>limit</code> to the search requests. If you expect the search request will have a very large response with many objects, your application should use a paged search by also using the <code>skip</code> URL parameter. You will see an example of this below.
<li>Results will only include Web Annotation, IIIF Presentation API 3.0, and IIIF Presentation API 2.1 resource types that have the text embedded within their structure.</li>
667
+
<li>Results will only include Web Annotation, IIIF Presentation API 3.0, and IIIF Presentation API 2.1<spanclass="dep" title="When creating new data be IIIF Presentation API 3.0 compliant!">⚠️</span> resource types that have the text embedded within their structure.</li>
668
668
<li>Searches are case-insensitive</li>
669
+
<li>Partial word matches and wildcards are NOT supported in this search</li>
669
670
<li>Uses a "slop" value (default: 2) that allows intervening words between search terms (up to the default or provided value). You may supply your own <codeclass="language-plaintext highlighter-rouge">slop</code> option.</li>
670
671
<li>Words don't need to be directly adjacent, providing flexibility while maintaining phrase coherence</li>
671
672
<li>More precise than standard text search for multi-word queries</li>
0 commit comments