Repository navigation
fix(search): tika key fixes - #3651
Conversation
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | 0 |
🟢 Coverage 100.00% diff coverage · -0.01% coverage variation
Metric Results Coverage variation ✅ -0.01% coverage variation (-1.00%) Diff coverage ✅ 100.00% diff coverage Coverage variation details
Coverable lines Covered lines Coverage Common ancestor commit (a325542) 89111 21640 24.28% Head commit (2282082) 89111 (+0) 21630 (-10) 24.27% (-0.01%) Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch:
<coverage of head commit> - <coverage of common ancestor commit>Diff coverage details
Coverable lines Covered lines Diff coverage Pull request (#3651) 10 10 100.00% Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified:
<covered lines added or modified>/<coverable lines added or modified> * 100%
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
8403307 to
2282082
Compare
Tika 4 prefixes its metadata keys (mp4:, img:), so the live photo facet was never built there. Live photo support needs tika 4: tika 3 got the video keys only in 3.3.2 and never the still image time. The content key is read through one lookup, marked tika 4 and tika 3 legacy.
Base ISO is a Canon maker note tag holding Canon's raw encoded value, not the iso of the shot: other cameras got no iso, Canon photos a wrong one (256 for an ISO 800 shot). exif:IsoSpeedRatings is there on tika 3 and tika 4.
butonic
left a comment
There was a problem hiding this comment.
Will the code be backwards compatible to tika 4.0?
|
Yes, nothing broke between 4.0 and 4.1. AFAICT they just introduced additional prefixes after my contributions got merged but before 4.0 was released. Every key the PR reads (mp4:com.apple.quicktime.*, img:Content Identifier, quicktime:still-image-time, exif:IsoSpeedRatings, tk:content) is emitted by 4.0.0 under the same name, checked against the /rmeta output of apache/tika:4.0.0-full and 4.1.0 for the same files. What 4.0.0 lacks is unrelated to this change: video:fourcc / audio:fourcc and the embedded video of a motion photo only exist since 4.1.0. One change towards tika 3: the live photo facet now needs tika 4, the unprefixed tika 3 keys are no longer read - but the feature was backported partially only anyway, so it never worked with the Tika 3 series anyway. TL;DR: This does not break anything with Tika 4.0.x that worked before, but it's better to use Tika >= 4.1.x simply because that provides more data that we can make use of |
Includes opencloud-eu/opencloud#3651, which makes the search service read the Tika 4 keys of the live photo facet.
#1949) ##### [\`8.1.0\`](https://github.com/opencloud-eu/opencloud/blob/HEAD/CHANGELOG.md#810---2026-10-05) ##### ❤️ Thanks to all contributors! ❤️ [@NickWalters](https://github.com/NickWalters), [@aduffeck](https://github.com/aduffeck), [@butonic](https://github.com/butonic), [@dschmidt](https://github.com/dschmidt), [@fschade](https://github.com/fschade), [@maki5](https://github.com/maki5), [@micbar](https://github.com/micbar), [@pascalwengerter](https://github.com/pascalwengerter), [@pbleser-oc](https://github.com/pbleser-oc), [@rhafer](https://github.com/rhafer), [@saw-jan](https://github.com/saw-jan), [@schweigisito](https://github.com/schweigisito), [@v-scharf](https://github.com/v-scharf), [@zerox80](https://github.com/zerox80) ##### 🔒 Security - feat(proxy): add optional OIDC access token audience validation \[[#3466](opencloud-eu/opencloud#3466)] ##### 🐛 Bug Fixes - Reindex disabled spaces once they get enabled again \[[#3579](opencloud-eu/opencloud#3579)] - fix(search): tika key fixes \[[#3651](opencloud-eu/opencloud#3651)] - fix(search): keep trashed and live folders at the same path apart \[[#3602](opencloud-eu/opencloud#3602)] - Fix/uploads cli no async consumer \[[#3603](opencloud-eu/opencloud#3603)] - Remove the timeout when reindexing spaces \[[#3543](opencloud-eu/opencloud#3543)] - fix(shares): not auto accepting shares created by guest users \[[#3533](opencloud-eu/opencloud#3533)] - fix(graph): fix PatchMe method to prevent password change \[[#3526](opencloud-eu/opencloud#3526)] ##### 📈 Enhancement - feat: add new editor roles \[[#3637](opencloud-eu/opencloud#3637)] - feat(collaboration): let admins disable wopi extensions \[[#3633](opencloud-eu/opencloud#3633)] - fix(collaboration): send LastModifiedTime and the EuroOffice file size \[[#3636](opencloud-eu/opencloud#3636)] - feat(collaboration): mobile web view for EuroOffice \[[#3635](opencloud-eu/opencloud#3635)] - fix(collaboration): harden wopi token handling \[[#3630](opencloud-eu/opencloud#3630)] - add posixfs index command \[[#3068](opencloud-eu/opencloud#3068)] - feat(proxy): add per-service metrics to the proxy service \[[#3521](opencloud-eu/opencloud#3521)] ##### ✅ Tests - fix(search): ellipsize parity matrix labels by runes, not bytes \[[#3643](opencloud-eu/opencloud#3643)] - fix(collaboration): mint the mobile view test token with the token manager secret \[[#3647](opencloud-eu/opencloud#3647)] - run cli tests with decomposed nightly \[[#3580](opencloud-eu/opencloud#3580)] - \[decomposed] test(api): remove passing notification tests from expected failure \[[#3555](opencloud-eu/opencloud#3555)] - api-test: add CLI test for reindexing all spaces including disabled \[[#3560](opencloud-eu/opencloud#3560)] ##### 📚 Documentation - \[SKIP CI] fix: add file_read documentation to audit log docu \[[#3503](opencloud-eu/opencloud#3503)] ##### 📦️ Dependencies - \[full-ci] chore: bump web to v8.1.0 \[[#3656](opencloud-eu/opencloud#3656)] - chore: bump reva to latest main \[[#3642](opencloud-eu/opencloud#3642)] - chore: bump libre-graph-api-go to v1.0.8 \[[#3645](opencloud-eu/opencloud#3645)] - build(deps): bump github.com/nats-io/nats.go from 1.53.1 to 1.54.0 \[[#3584](opencloud-eu/opencloud#3584)] - build(deps): bump github.com/onsi/gomega from 1.42.1 to 1.43.1 \[[#3582](opencloud-eu/opencloud#3582)] - build(deps): bump google.golang.org/grpc from 1.83.2 to 1.84.0 \[[#3581](opencloud-eu/opencloud#3581)] - build(deps): bump github.com/beevik/etree from 1.7.1 to 1.8.0 \[[#3583](opencloud-eu/opencloud#3583)] - build(deps): bump golang.org/x/image from 0.45.0 to 0.46.0 \[[#3573](opencloud-eu/opencloud#3573)] - build(deps): bump github.com/nats-io/nats-server/v2 from 2.14.5 to 2.15.0 \[[#3576](opencloud-eu/opencloud#3576)] - build(deps): bump golang.org/x/text from 0.41.0 to 0.42.0 \[[#3552](opencloud-eu/opencloud#3552)] - build(deps): bump golang.org/x/sync from 0.22.0 to 0.23.0 \[[#3551](opencloud-eu/opencloud#3551)] - build(deps): bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc from 0.70.0 to 0.71.0 \[[#3427](opencloud-eu/opencloud#3427)] - build(deps): bump github.com/olekukonko/errors from 1.2.0 to 1.3.0 \[[#3557](opencloud-eu/opencloud#3557)] - build(deps): bump github.com/prometheus/client_model from 0.6.2 to 0.6.3 \[[#3550](opencloud-eu/opencloud#3550)] - build(deps): bump github.com/shamaton/msgpack/v2 from 2.4.1 to 2.4.2 \[[#3459](opencloud-eu/opencloud#3459)] - build(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace from 1.45.0 to 1.46.0 \[[#3428](opencloud-eu/opencloud#3428)] - build(deps): bump github.com/sirupsen/logrus from 1.10.1 to 1.10.2 \[[#3492](opencloud-eu/opencloud#3492)] Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Tika 4 added prefixes to some keys after I upstreamed the features (TIKA-4816).
The extractor now reads the keys that actually made it to the 4.x.x releases.
photo.isocame fromBase ISO, a Canon maker note tag holding Canon's raw encoded value: empty for every other camera, wrong for Canon (256 for an ISO 800 shot). It now comes fromexif:IsoSpeedRatings, which tika 3 and tika 4 both emit.CI and the acceptance compose move from
4.1.0-SNAPSHOT/4.0.0-fullto the releasedapache/tika:4.1.0-full.@kulmann you did the initial photo facet implementation, hence I'm adding you as reviewer :)