IP Library Granted Patent US 10,073,875
Granted Patent B2
US 10,073,875 · App. 15/096,926 · Granted Sep 11, 2018

System and method of search indexes using key-value attributes to searchable metadata

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 10,073,875
App. No.
15/096,926
Granted
Sep 11, 2018
Kind
B2
Abstract

Systems, methods, and computer program products for searching objects, metadata associated with the objects, and attributes assigned to or associated with the metadata. Referring to herein as metadata for the metadata, these attributes may be associated with one or more metadata field values of a metadata field name which, in turn, may be associated with an object being or already indexed in a search index of a search system. Each attribute may be optional, dynamically created, indexed, and searchable via the search index. There can be multiple attributes associated with the same metadata field value, each being represented as a key-value pair. This metadata for the metadata approach can be highly efficient. For example, the ability to search multiple attributes associated with the same metadata field can eliminate the potential need to create multiple metadata fields for the same value in different languages, countries, etc.

Claims (54)

1. A search system, comprising;

a processor; and

a non-transitory storage medium including:

a search index for a set of objects comprising an index for:

a first object having a first metadata field with a first metadata field value for the first metadata field specific to the first object, wherein the first metadata field value is associated with a first attribute having a first attribute field and a first attribute value for the first attribute field, and wherein the first attribute value is specific to the first metadata field value specific to the first object;

a second object having the first metadata field with a second metadata field value for the first metadata field, the second metadata field value specific to the second object, wherein the second metadata field value is associated with the first attribute having the first attribute field, the first attribute field for the second object associated with a second attribute value specific to the second metadata field value specific to the second object,

wherein the search index includes:

the first metadata field value for the first metadata field associated with the first object in the search index,

the first attribute, including the first attribute field and first attribute value for the first object, the first attribute and first attribute value associated with the first metadata field value for the first metadata field in the search index,

the second metadata field value for the first metadata field associated with the second object in the search index, and

the first attribute, including the first attribute field and second attribute value for the second object, the first attribute associated with the second metadata field value for the first metadata field in the search index; and

a set of computer readable instructions for:

making the first attribute searchable through a search interface provided by the search system, the search interface allowing search queries identifying the first metadata field and an attribute value for the first metadata field;

searching the set of objects using the search index by comparing the attribute value of the query with the first attribute value of the first attribute field for the first object associated with the first metadata field value in the search index and comparing the attribute value of the query with the second attribute value of the first attribute field for the second object associated with the second metadata field value in the search index; and

presenting a set of search results sorted according to the attribute value of the first metadata field specified in the query.

2. The system of claim 1 , wherein the first attribute and first attribute field value include a key/value pair associated with the first metadata field value for the first object.

3. The system of claim 2 , wherein the key/value pair is stored in an auxiliary data structure in the search index.

4. The system of claim 3 , wherein the value is a text, numerical, currency, date, percentage, symbol, enumerated list, geocode, coordinate or Boolean value.

5. The system of claim 3 , wherein both the key and value of the key/value pair are searchable.

6. The system of claim 1 , wherein the instructions are further for sorting query results based on the first attribute.

7. The system of claim 1 , wherein the first attribute, first attribute value or second attribute value are dynamically created during or after an indexing of the first object or second object.

8. A method for a search system, comprising:

creating a search index for a set of objects by indexing a first object having a first metadata field with a first metadata field value for the first metadata field specific to the first object, wherein the first metadata field value is associated with a first attribute having a first attribute field and a first attribute value, and wherein the first attribute value is specific to the first metadata field value specific to the first object, and

indexing a second object having the first metadata field with a second metadata field value for the first metadata field, the second metadata field value specific to the second object, wherein the second metadata field value is associated with the first attribute having the first attribute field, the first attribute field for the second object associated with a second attribute value specific to the second metadata field value specific to the second object, wherein the search index includes,

the first metadata field value for the first metadata field associated with the first object in the search index,

the first attribute, including the first attribute field and first attribute value for the first object, the first attribute and first attribute value associated with the first metadata field value for the first metadata field in the search index,

the second metadata field value for the first metadata field associated with the second object in the search index, and

the first attribute, including the first attribute field and second attribute value for the second object associated with the second metadata field value for the first metadata field in the search index;

making the first attribute searchable through a search interface provided by the search system, the search interface allowing search queries identifying the first metadata field and an attribute value for the first metadata field;

searching the set of objects using the search index by comparing the attribute value of the query with the first attribute value of the first attribute field for the first object associated with the first metadata field value in the search index and comparing the attribute value of the query with the second attribute value of the first attribute field for the second object associated with the second metadata field value in the search index; and

presenting a set of search results sorted according to the attribute value of the first metadata field specified in the query.

9. The method of claim 8 , wherein the first attribute and first attribute field value include a key/value pair associated with the first metadata field value for the first object.

10. The method of claim 9 , wherein the key/value pair is stored in an auxiliary data structure in the search index.

11. The method of claim 10 , wherein the value is a text, numerical, currency, date, percentage, symbol, enumerated list, geocode, coordinate or Boolean value.

12. The method of claim 10 , wherein both the key and value of the key/value pair are searchable.

13. The method of claim 8 , wherein the instructions are further for sorting query results based on the first attribute.

14. The method of claim 8 , wherein the first attribute, first attribute value or second attribute value are dynamically created during or after an indexing of the first object or second object.

15. A non-transitory computer readable media comprising instructions for a search system, the instructions executable on a processor for:

creating a search index for a set of objects by:

indexing a first object having a first metadata field with a first metadata field value for the first metadata field specific to the first object, wherein the first metadata field value is associated with a first attribute having a first attribute field and a first attribute value, and wherein the first attribute value is specific to the first metadata field value specific to the first object, and

indexing a second object having the first metadata field with a second metadata field value for the first metadata field, the second metadata field value specific to the second object, wherein the second metadata field value is associated with the first attribute having the first attribute field, the first attribute field for the second object associated with a second attribute value specific to the second metadata field value specific to the second object, wherein the search index includes,

the first metadata field value for the first metadata field associated with the first object in the search index,

the first attribute, including the first attribute field and first attribute value for the first object, the first attribute and first attribute value associated with the first metadata field value for the first metadata field in the search index,

the second metadata field value for the first metadata field associated with the second object in the search index, and

the first attribute, including the first attribute field and second attribute value for the second object associated with the second metadata field value for the first metadata field in the search index;

making the first attribute searchable through a search interface provided by the search system, the search interface allowing search queries identifying the first metadata field and an attribute value for the first metadata field;

searching the set of objects using the search index by comparing the attribute value of the query with the first attribute value of the first attribute field for the first object associated with the first metadata field value in the search index and comparing the attribute value of the query with the second attribute value of the first attribute field for the second object associated with the second metadata field value in the search index; and

presenting a set of search results sorted according to the attribute value of the first metadata field specified in the query.

16. The non-transitory computer readable media of claim 15 , wherein the first attribute and first attribute field value include a key/value pair associated with the first metadata field value for the first object.

17. The non-transitory computer readable media of claim 16 , wherein the key/value pair is stored in an auxiliary data structure in the search index.

18. The non-transitory computer readable media of claim 17 , wherein the value is a text, numerical, currency, date, percentage, symbol, enumerated list, geocode, coordinate or Boolean value.

19. The non-transitory computer readable media of claim 17 , wherein both the key and value of the key/value pair are searchable.

20. The non-transitory computer readable media of claim 15 , wherein the instructions are further for sorting query results based on the first attribute.

21. The non-transitory computer readable media of claim 15 , wherein the first attribute, first attribute value or second attribute value are dynamically created during or after an indexing of the first object or second object.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 063559/0628) Recorded Jun 21, 2024
From: BARCLAYS BANK PLC
To: OPEN TEXT SA ULC
Reel/Frame 067807/0053 →
SECURITY INTEREST Recorded Aug 30, 2023
From: OPEN TEXT SA ULC
To: THE BANK OF NEW YORK MELLON
Reel/Frame 064761/0256 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT SA ULC
To: BARCLAYS BANK PLC
Reel/Frame 063559/0628 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT SA ULC
To: BARCLAYS BANK PLC
Reel/Frame 063559/0647 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT SA ULC
To: BARCLAYS BANK PLC
Reel/Frame 063559/0758 →
CERTIFICATE OF CONTINUANCE Recorded Aug 30, 2016
From: OT IP SUB, LLC
To: IP OT SUB ULC
Reel/Frame 039986/0689 →
IP BUSINESS SALE AGREEMENT Recorded Aug 30, 2016
From: OPEN TEXT S.A.
To: OT IP SUB, LLC
Reel/Frame 039872/0605 →
CERTIFICATE OF AMALGAMATION Recorded Aug 30, 2016
From: IP OT SUB ULC
To: OPEN TEXT SA ULC
Reel/Frame 039872/0662 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2016
From: LARSON, JOHAN G.
To: OPEN TEXT S.A.
Reel/Frame 039089/0212 →
Cited By (1)
US 12,282,469