Class GeoPkgParser

java.lang.Object
org.apache.tika.parser.sqlite3.SQLite3Parser
org.apache.tika.parser.geopkg.GeoPkgParser
All Implemented Interfaces:
Serializable, SelfConfiguring, Parser

public class GeoPkgParser extends SQLite3Parser
Customization of sqlite parser to skip certain common blob columns.

The motivation is that "geom" and "data" columns are intrinsic to geopkg and are not regular embedded files. Tika treats all blob columns as, potentially, embedded files -- this can add dramatically to the time to parse geopkg files, which might have hundreds of thousands of uninteresting blobs.

Users may modify which columns are ignored or turn off "ignoring" of all solumns.

To add a column to the default "ignore blob columns" via tika-config.xml:

   
     
     
       
         geom
         data
         something
       
     
   
   }

Or use an empty list to parse all columns.

See Also:
  • Constructor Details

    • GeoPkgParser

      public GeoPkgParser()
      Checks to see if class is available for org.sqlite.JDBC.

      If not, this class will return an EMPTY_SET for getSupportedTypes()

  • Method Details

    • getSupportedTypes

      public Set<MediaType> getSupportedTypes(ParseContext context)
      Description copied from interface: Parser
      Returns the set of media types supported by this parser when used with the given parse context.
      Specified by:
      getSupportedTypes in interface Parser
      Overrides:
      getSupportedTypes in class SQLite3Parser
      Parameters:
      context - parse context
      Returns:
      immutable set of media types
    • parse

      public void parse(TikaInputStream tis, ContentHandler handler, Metadata metadata, ParseContext context) throws IOException, SAXException, TikaException
      Description copied from interface: Parser
      Parses a document stream into a sequence of XHTML SAX events. Fills in related document metadata in the given metadata object.

      The given document stream is consumed but not closed by this method. The responsibility to close the stream remains on the caller.

      Information about the parsing context can be passed in the context parameter. See the parser implementations for the kinds of context information they expect.

      Specified by:
      parse in interface Parser
      Overrides:
      parse in class SQLite3Parser
      handler - handler for the XHTML SAX events (output)
      metadata - document metadata (input and output)
      context - parse context
      Throws:
      IOException - if the document stream could not be read
      SAXException - if the SAX events could not be processed
      TikaException - if the document could not be parsed
    • setIgnoreBlobColumns

      public void setIgnoreBlobColumns(List<String> ignoreBlobColumns)