Store DjVu extracted text in a structured table instead of img_metadata


When DjVu files contain text layers, we currently extract these and store them into the file's metadata blob, so it's available to extensions like ProofreadPage which can use it.

Unfortunately this *massively* increases the size of the file object -- which contains the uncompressed serialized metadata blob in memory -- leading to errors like bug 30751, running out of memory when loading a bunch of file objects at once in an API request.

In addition it's a bit awkward to access the text from other places; things like search indexing (bug 6421) would benefit from having a more standardish place to get at extracted text, and this could also be used for other file formats.

Version: 1.20.x
Severity: normal

bzimport added a subscriber: wikibugs-l.
bzimport set Reference to bz30906.
brion created this task.Via LegacySep 14 2011, 10:34 PM
brion added a comment.Via ConduitSep 14 2011, 10:36 PM

Changing deps from bug 6421 (DjVu-only) to bug 21062 (also notes PDF etc), so we cover wider space.

Bawolff added a comment.Via ConduitSep 15 2011, 5:08 AM

Perhaps (as an interim solution) we shouldn't be loading file metadata unless a method is called that specifically needs it. I imagine most of the time you don't need the metadata (otoh, maybe you need it more now a days that we check if jpg's need to be rotated)

Gilles added a project: Multimedia.Via WebNov 24 2014, 3:38 PM
GOIII added a subscriber: GOIII.Via WebFeb 22 2015, 5:47 PM
Aklapper added a project: Wikisource.Via WebTue, Mar 10, 4:15 PM

Add Comment

Column Prototype
This is a very early prototype of a persistent column. It is not expected to work yet, and leaving it open will activate other new features which will break things. Press "\" (backslash) on your keyboard to close it now.