Media Search Processing Using Partial Schemas
Abstract
A process generates searchable content for visual media files. The process uses a set of schemas, including a source schema and a keyword schema. The process uses workers, each specifying its input schemas and its output schemas. A dependency graph includes a node for each worker, with dependencies based on the input and output schemas. The process constructs a source schema instance for a selected visual media file, and the process traverses nodes in the graph beginning with an initial worker process according to the media type. One or more worker processes insert search terms into the keyword schema instance. The process stores the keyword schema instance in a database for subsequent media queries.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method of generating searchable content for visual media files, comprising:
at a computing system having one or more processors and memory:
defining a set of schemas, wherein the set of schemas includes a source schema and a keyword schema;
defining a plurality of worker processes, wherein each worker process definition specifies a respective set of one or more input schemas from the defined set of schemas and each worker process definition specifies a respective set of one or more output schemas from the defined set of schemas;
building a dependency graph that includes a node for each worker process, with dependencies based on the input schemas and output schemas for each worker process;
constructing a respective source schema instance for a selected visual media file, including filling in fields in the source schema instance using information about the selected visual media file;
traversing nodes in the dependency graph beginning with a respective initial worker process corresponding to a media type of the selected visual media file, wherein one or more worker processes executed during the traversal inserts search terms into a respective keyword schema instance; and
storing data from the keyword schema instance in a database for subsequent searching of visual media files.
2 . The method of claim 1 , further comprising:
receiving a search query from a user, wherein the search query comprises a plurality of textual terms; matching the received search query to one or more keyword schema instances; and returning, to the user, search results that identify visual media files corresponding to the matched keyword schema instances.
3 . The method of claim 1 , wherein traversing nodes in the dependency graph comprises:
executing a plurality of worker processes, which construct a plurality of additional distinct schema instances; and the method further comprises storing, in the database, data for the plurality of the additional schema instances.
4 . The method of claim 3 , further comprising:
receiving a search query from a user, wherein the search query comprises a plurality of textual terms; matching the received search query to one or more of the stored schema instances; and returning, to the user, search results that identify visual media files corresponding to the matched schema instances.
5 . The method of claim 1 , wherein:
the selected visual media file is a first visual media file in a set of visual media files; and traversing nodes in the dependency graph for a first visual media file includes executing a first worker process that extracts one or more additional visual media files from within the first visual media file and adds the additional visual media files to the set of visual media files.
6 . The method of claim 5 , wherein the set of visual media files includes one or more image files.
7 . The method of claim 5 , wherein the set of visual media files includes one or more video files.
8 . The method of claim 5 , wherein the set of visual media files includes one or more multipage documents.
9 . A computer system, comprising:
one or more processors; memory; and one or more programs stored in the memory and configured for execution by the one or more processors, the one or more programs comprising instructions for:
defining a set of schemas, wherein the set of schemas includes a source schema and a keyword schema;
defining a plurality of worker processes, wherein each worker process definition specifies a respective set of one or more input schemas from the defined set of schemas and each worker process definition specifies a respective set of one or more output schemas from the defined set of schemas;
building a dependency graph that includes a node for each worker process, with dependencies based on the input schemas and output schemas for each worker process;
constructing a respective source schema instance for a selected visual media file, including filling in fields in the source schema instance using information about the selected visual media file;
traversing nodes in the dependency graph beginning with a respective initial worker process corresponding to a media type of the selected visual media file, wherein one or more worker processes executed during the traversal inserts search terms into a respective keyword schema instance; and
storing data from the keyword schema instance in a database for subsequent searching of visual media files.
10 . The computer system of claim 9 , wherein the one or more programs further comprise instructions for:
receiving a search query from a user, wherein the search query comprises a plurality of textual terms; matching the received search query to one or more keyword schema instances; and returning, to the user, search results that identify visual media files corresponding to the matched keyword schema instances.
11 . The computer system of claim 9 , wherein traversing nodes in the dependency graph comprises:
executing a plurality of worker processes, which construct a plurality of additional distinct schema instances; and the one or more programs further comprise instructions for storing, in the database, data for the plurality of the additional schema instances.
12 . The computer system of claim 11 , wherein the one or more programs further comprise instructions for:
receiving a search query from a user, wherein the search query comprises a plurality of textual terms; matching the received search query to one or more of the stored schema instances; and returning, to the user, search results that identify visual media files corresponding to the matched schema instances.
13 . The computer system of claim 9 , wherein:
the selected visual media file is a first visual media file in a set of visual media files; and traversing nodes in the dependency graph for a first visual media file includes executing a first worker process that extracts one or more additional visual media files from within the first visual media file and adds the additional visual media files to the set of visual media files.
14 . The computer system of claim 9 , wherein the set of visual media files includes one or more image files.
15 . The computer system of claim 9 , wherein the set of visual media files includes one or more video files.
16 . A non-transitory computer readable storage medium storing one or more programs configured for execution by one or more processors of a computer system, the one or more programs comprising instructions for:
defining a set of schemas, wherein the set of schemas includes a source schema and a keyword schema; defining a plurality of worker processes, wherein each worker process definition specifies a respective set of one or more input schemas from the defined set of schemas and each worker process definition specifies a respective set of one or more output schemas from the defined set of schemas; building a dependency graph that includes a node for each worker process, with dependencies based on the input schemas and output schemas for each worker process; constructing a respective source schema instance for a selected visual media file, including filling in fields in the source schema instance using information about the selected visual media file; traversing nodes in the dependency graph beginning with a respective initial worker process corresponding to a media type of the selected visual media file, wherein one or more worker processes executed during the traversal inserts search terms into a respective keyword schema instance; and storing data from the keyword schema instance in a database for subsequent searching of visual media files.
17 . The computer readable storage medium of claim 16 , wherein the one or more programs further comprise instructions for:
receiving a search query from a user, wherein the search query comprises a plurality of textual terms; matching the received search query to one or more keyword schema instances; and returning, to the user, search results that identify visual media files corresponding to the matched keyword schema instances.
18 . The computer readable storage medium of claim 16 , wherein traversing nodes in the dependency graph comprises:
executing a plurality of worker processes, which construct a plurality of additional distinct schema instances; and the one or more programs further comprise instructions for storing, in the database, data for the plurality of the additional schema instances.
19 . The computer readable storage medium of claim 18 , wherein the one or more programs further comprise instructions for:
receiving a search query from a user, wherein the search query comprises a plurality of textual terms; matching the received search query to one or more of the stored schema instances; and returning, to the user, search results that identify visual media files corresponding to the matched schema instances.
20 . The computer readable storage medium of claim 16 , wherein:
the selected visual media file is a first visual media file in a set of visual media files; and traversing nodes in the dependency graph for a first visual media file includes executing a first worker process that extracts one or more additional visual media files from within the first visual media file and adds the additional visual media files to the set of visual media files.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.