IP Library Granted Patent US 9,600,530
Granted Patent B2
US 9,600,530 · App. 13/842,215 · Granted Mar 21, 2017

Updating a search index used to facilitate application searches

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,600,530
App. No.
13/842,215
Granted
Mar 21, 2017
Kind
B2
Abstract

Techniques are disclosed for maintaining a search index used to support application searches. The techniques include receiving application data from one or more data sources, identifying an application referenced in the application data. The techniques further include extracting a plurality of attributes corresponding to the application from the application data based on an application specific search schema. The techniques also include generating an application representation of the application based on the plurality of attributes and the application specific search schema. The techniques also include updating a search index with the application representation.

Claims (62)

1. A method for maintaining search indexes used to support application searches, the method comprising:

receiving, at a processing device, application data from a plurality of data sources, the application data being text describing one or more applications, wherein:

the plurality of data sources includes a first electronic application marketplace and a second electronic application marketplace, and

the application data includes (i) first application data received from the first electronic application marketplace and (ii) second application data received from the second electronic application marketplace;

identifying, at the processing device, an application referenced in the application data, wherein:

the first application data describes a first application edition of the application, and

the second application data describes a second application edition of the application;

generating, at the processing device, a plurality of attributes corresponding to the application from the application data referencing the application, including the first application data received from the first electronic application marketplace and the second application data received from the second electronic application marketplace, based on an application search specific schema, wherein the application search specific schema defines a structure of an application representation and one or more types of attributes that can be used to describe a given application;

generating, at the processing device, an application representation of the application based on the plurality of attributes and the application search specific schema, the application representation defining the attributes of the application, including a text description and a rating of the application and being based on the application data from the plurality of data sources; and

updating a search index based on the application representation.

2. The method of claim 1 , wherein the application data is received in at least one of an unstructured format, a structured format, or a semi-structured format.

3. The method of claim 1 , wherein the application representation references a canonical application and one or more edition applications, the canonical application being a representative of the one or more edition applications.

4. The method of claim 3 , wherein identifying the application includes identifying, at the processing device, the canonical application and the one or more edition applications based on the application data.

5. The method of claim 3 , wherein generating the plurality of attributes includes:

extracting, at the processing device, a plurality of general attributes corresponding to the canonical application from the application data; and

extracting, at the processing device, a plurality of edition attributes for each of the one or more edition applications from the application data.

6. The method of claim 5 , wherein at least a subset of the plurality of edition attributes is inherited by the plurality of general attributes.

7. The method of claim 5 , wherein generating the application representation includes organizing the plurality of general attributes and the plurality of edition attributes for each of the one or more edition applications according to the application search specific schema.

8. The method of claim 1 , wherein the search index indexes a searchable database storing a plurality of application representations, each application representation representing a different application.

9. The method of claim 8 , wherein the search index is searchable by attributes of the plurality of application representations, wherein the search index returns one or more application representations having a particular attribute in response to a query for the particular attribute.

10. The method of claim 1 , wherein generating the attributes includes:

combining, at the processing device, two or more instances of application data; and

generating, at the processing device, an attribute based on text contained in the combination of the application data, wherein the attribute is not wholly contained in any one of the instances of the application data.

11. The method of claim 1 , further comprising:

receiving third application data from one of the plurality of data sources;

comparing the third application data to a set of predefined canonical applications;

in response to the third application data matching one of the set of predefined canonical applications, grouping the third application data as an edition of the one of the set of predefined canonical applications;

in response to the third application data not matching the set of predefined canonical applications, comparing the third application data to a set of previously-identified canonical applications;

in response to the third application data matching one of the set of previously-identified canonical applications, grouping the third application data as an edition of the one of the set of previously-identified canonical applications; and

in response to the third application data not matching the set of previously-identified canonical applications, creating a new identified canonical application based on the third application data.

12. A server comprising:

a storage device having a search index stored thereon, the search index indexing a plurality of application representations; and

a processing device executing computer readable instructions, the computer readable instructions causing the processing device to:

receive application data from a plurality of data sources, wherein:

the plurality of data sources includes a first electronic application marketplace and a second electronic application marketplace, and

the application data includes (i) first application data received from the first electronic application marketplace and (ii) second application data received from the second electronic application marketplace;

identify an application referenced in the application data, wherein:

the first application data describes a first application edition of the application, and

the second application data describes a second application edition of the application;

generate a plurality of attributes corresponding to the application from the application data referencing the application, including the first application data received from the first electronic application marketplace and the second application data received from the second electronic application marketplace, based on an application search specific schema, wherein the application search specific schema defines a structure of an application representation and one or more types of attributes that can be used to describe a given application;

generate an application representation of the application based on the plurality of attributes and the application search specific schema, the application representation defining the attributes of the application, including a text description and a rating of the application and being based on the application data from the plurality of data sources; and

update the search index based on the application representation.

13. The server of claim 12 , wherein the application data is received in at least one of an unstructured format, a structured format, or a semi-structured format.

14. The server of claim 11 , wherein the application representation references a canonical application and one or more edition applications, wherein the canonical application is associated with each one of the one or more edition applications.

15. The server of claim 14 , wherein identifying the application includes:

identifying the canonical application from the application data; and

identifying the one or more edition applications from the application data.

16. The server of claim 14 , wherein the computer readable instructions cause the processing device to:

extracting a plurality of general attributes corresponding to the canonical application from the application data; and

generating a plurality of edition attributes for each of the one or more edition applications from the application data.

17. The server of claim 16 , wherein at least a subset of the plurality of edition attributes is inherited by the plurality of general attributes.

18. The server of claim 16 , wherein generating the application representation includes organizing the plurality of general attributes and the plurality of edition attributes for each of the one or more edition applications according to the application search specific schema.

19. The server of claim 12 , wherein the search index indexes a searchable database storing the plurality of application representations, each application representation representing a different application.

20. The server of claim 19 , wherein the search index is searchable by attributes of the plurality of application representations, wherein the search index returns one or more application representations having a particular attribute in response to a query for the particular attribute.

21. The server of claim 14 , wherein the computer readable instructions cause the processing device to extract the attributes by combining two or more instances of application data and generating an attribute based on text contained in the combination of the application data, wherein the generated attribute is not wholly contained in any one of the instances of the application data.

22. The server of claim 12 , wherein the computer readable instructions cause the processing device to:

receive third application data from one of the plurality of data sources;

compare the third application data to a set of predefined canonical applications;

in response to the third application data matching one of the set of predefined canonical applications, group the third application data as an edition of the one of the set of predefined canonical applications;

in response to the third application data not matching the set of predefined canonical applications, compare the third application data to a set of previously-identified canonical applications;

in response to the third application data matching one of the set of previously-identified canonical applications, group the third application data as an edition of the one of the set of previously-identified canonical applications; and

in response to the third application data not matching the set of previously-identified canonical applications, create a new identified canonical application based on the third application data.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2017
From: QUIXEY, INC.
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 044300/0981 →
RELEASE OF SECURITY INTEREST Recorded Oct 23, 2017
From: ALIBABA.COM U.S. INVESTMENT HOLDING CORPORATION
To: QUIXEY, INC.
Reel/Frame 044575/0410 →
SECURITY INTEREST Recorded Aug 1, 2016
From: QUIXEY, INC.
To: ALIBABA.COM U.S. INVESTMENT HOLDING CORPORATION
Reel/Frame 039521/0041 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2013
From: GLOVER, ERIC; SHAPIRA, LIRON; TARLETON, NICOLAS
To: QUIXEY, INC.
Reel/Frame 030772/0178 →