[ https://issues.apache.org/jira/browse/TIKA-1607?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14505054#comment-14505054 ]
Ray Gauss II commented on TIKA-1607: ------------------------------------ We've had a few discussions on structured metadata over the years, some of which was captured in the [MetadataRoadmap Wiki page|http://wiki.apache.org/tika/MetadataRoadmap]. I'd agree that we should strive to maintain backwards compatibility for simple values. I think we should also consider serialization of the metadata store, not just in the {{Serializable}} interface sense, but perhaps being able to easily marshal the entire metadata store into JSON and XML. As [~gagravarr] points out, work has been done to express structured metadata via the existing metadata store. In that email thread you'll find reference to the external [tika-ffmpeg project|https://github.com/AlfrescoLabs/tika-ffmpeg]. > Introduce new HashMap<String, Object> data structure for persitsence of Tika > Metadata > ------------------------------------------------------------------------------------- > > Key: TIKA-1607 > URL: https://issues.apache.org/jira/browse/TIKA-1607 > Project: Tika > Issue Type: Improvement > Components: core, metadata > Reporter: Lewis John McGibbney > Assignee: Lewis John McGibbney > Priority: Critical > Fix For: 1.9 > > > I am currently working implementing more comprehensive extraction and > enhancement of the Tika support for Phone number extraction and metadata > modeling. > Right now we utilize the String[] multivalued support available within Tika > to persist phone numbers as > {code} > Metadata: String: String[] > Metadata: phonenumbers: number1, number2, number3, ... > {code} > I would like to propose we extend multi-valued support outside of the > String[] paradigm by implementing a more abstract Collection of Objects such > that we could consider and implement the phone number use case as follows > {code} > Metadata: String: Object > {code} > Where Object could be a Collection<HashMap<String/Property, > HashMap<String/Property, String/Int/Long>> e.g. > {code} > Metadata: phonenumbers: [(+162648743476: (LibPN-CountryCode : US), > (LibPN-NumberType: International), (etc: etc)...), (+1292611054: > LibPN-CountryCode : UK), (LibPN-NumberType: International), (etc: etc)...) > (etc)] > {code} > There are obvious backwards compatibility issues with this approach... > additionally it is a fundamental change to the code Metadata API. I hope that > the <String, Object> Mapping however is flexible enough to allow me to model > Tika Metadata the way I want. > Any comments folks? Thanks > Lewis -- This message was sent by Atlassian JIRA (v6.3.4#6332)