IP Library Granted Patent US 9,348,890
Granted Patent B2
US 9,348,890 · App. 13/595,570 · Granted May 24, 2016

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 9,348,890
App. No.
13/595,570
Granted
May 24, 2016
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 (57)

1. A computerized search system, comprising;

a processor; and

a storage unit coupled to the processor and storing a search index and instructions, wherein the instructions when translated by the processor cause the processor to perform:

providing a set of objects in an object repository, each object of the set of objects having a set of metadata fields for the object, where each metadata field of each object has one or more corresponding metadata field values, each metadata field value defining a value for the metadata field for only that object,

the object repository communicatively connected to the computerized search system over a first network connection,

the set of objects searchable via the search index,

the search index communicatively connected to a search engine,

the search engine communicatively connected to a client device over a second network connection, and

for an object of the set of objects:

dynamically assigning or associating a first attribute to a first metadata field value for a metadata field, the first metadata field value defining a first value for that metadata field specific to that object, where the first attribute comprises a first field and a second value, the first field specifying a first characteristic and the second value defining a value for the first characteristic for only the first value for the first metadata field value for only that object and the first attribute is created independently of the object,

dynamically assigning or associating a second attribute to the first metadata field value for the metadata field, where the second attribute comprises a second field and a third value, the second field specifying a second characteristic and the third value defining a value for the second characteristic for only the first value for the first metadata field value for only that object and the second attribute is created independently of the object,

indexing the attribute, and

making the first characteristic, second characteristic, second value and third value searchable via the search index such that the object is searchable via the first characteristic, second characteristic, second value or third value without having to re-index the object.

2. The system of claim 1 , wherein the first attribute and second attribute are represented as a key-value pair in the search index.

3. The system of claim 2 , wherein the instructions when translated by the processor further cause the processor to perform:

searching the search index using the first characteristic, second characteristic, second value or third value for the first metadata field value for the metadata field.

4. The system of claim 3 , wherein the instructions when translated by the processor further cause the processor to perform:

sorting results of the searching using the first characteristic, second characteristic, second value or third value for the first metadata field value for the metadata field.

5. The system of claim 1 , wherein the first attribute or second attribute is dynamically created before, after or while the object is indexed into the search index.

6. The system of claim 1 , wherein the first metadata field value is one of a plurality of metadata field values associate with the metadata field.

7. A method for searching metadata via a search index, the method comprising:

at a computerized search system communicatively connected to an object repository over a first network connection:

providing a set of objects in the object repository, each object of the set of objects having a set of metadata fields for the object, where each metadata field of each object has a corresponding metadata field value defining the value for the metadata field for only that object,

the object repository communicatively connected to the computerized search system over a first network connection,

the set of objects searchable via the search index,

the search index communicatively connected to a search engine,

the search engine communicatively connected to a client device over a second network connection, and

for an object of the set of objects:

dynamically assigning or associating a first attribute to a first metadata field value for a metadata field, the first metadata field value defining a first value for that metadata field specific to that object, where the first attribute comprises a first field and a second value, the first field specifying a first characteristic and the second value defining a value for the first characteristic for only the first value for the first metadata field value for only that object and the first attribute is created independently of the object,

dynamically assigning or associating a second attribute to the first metadata field value for the metadata field, where the second attribute comprises a second field and a third value, the second field specifying a second characteristic and the third value defining a value for the second characteristic for only the first value for the first metadata field value for only that object and the second attribute is created independently of the object,

indexing the attribute, and

making the first characteristic, second characteristic, second value and third value searchable via the search index such that the object is searchable via the first characteristic, second characteristic, second value or third value without having to re-index the object.

8. The method of claim 7 , wherein the first attribute and second attribute are represented as a key-value pair in the search index.

9. The method of claim 7 , further comprising:

searching the search index using the first characteristic, second characteristic, second value or third value for the first metadata field value for the metadata field.

10. The method of claim 9 , further comprising:

sorting results of the searching using the first characteristic, second characteristic, second value or third value for the first metadata field value for the metadata field.

11. The method of claim 7 , wherein the first attribute or second attribute is dynamically created before, after or while the object is indexed into the search index.

12. The method of claim 7 , wherein the first metadata field value is one of a plurality of metadata field values associate with the metadata field.

13. A computer program product comprising at least one non-transitory computer readable medium storing instructions translatable by a computerized search system to perform:

providing a set of objects in an object repository, each object of the set of objects having a set of metadata fields for the object, where each metadata field of each object has a corresponding metadata field value defining the value for the metadata field for only that object,

the object repository communicatively connected to the computerized search system over a first network connection,

the set of objects searchable via the search index,

the search index communicatively connected to a search engine,

the search engine communicatively connected to a client device over a second network connection, and

for an object of the set of objects:

dynamically assigning or associating a first attribute to a first metadata field value for a metadata field, the first metadata field value defining a first value for that metadata field specific to that object, where the first attribute comprises a first field and a second value, the first field specifying a first characteristic and the second value defining a value for the first characteristic for only the first value for the first metadata field value for only that object and the first attribute is created independently of the object,

dynamically assigning or associating a second attribute to the first metadata field value for the metadata field, where the second attribute comprises a second field and a third value, the second field specifying a second characteristic and the third value defining a value for the second characteristic for only the first value for the first metadata field value for only that object and the second attribute is created independently of the object,

indexing the attribute, and

making the first characteristic, second characteristic, second value and third value searchable via the search index such that the object is searchable via the first characteristic, second characteristic, second value or third value without having to re-index the object.

14. The computer program product of claim 13 , wherein the first attribute or second attribute is dynamically created before, after or while the object is indexed into the search index.

15. The computer program product of claim 13 , wherein the first attribute and second attribute are represented as a key-value pair in the search index.

16. The computer program product of claim 13 , wherein the instructions are further translatable for:

searching the search index using the first characteristic, second characteristic, second value or third value for the first metadata field value for the metadata field.

17. The computer program product of claim 13 , wherein the instructions are further translatable for:

sorting results of the searching using the first characteristic, second characteristic, second value or third value for the first metadata field value for the metadata field.

18. The computer program product of claim 13 , wherein the first metadata field value is one of a plurality of metadata field values associate with the metadata field.

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/0758 →
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 →
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 →
CERTIFICATE OF CONTINUANCE Recorded Aug 30, 2016
From: OT IP SUB, LLC
To: IP OT SUB ULC
Reel/Frame 039986/0689 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2012
From: LARSON, JOHAN G.
To: OPEN TEXT S. A.
Reel/Frame 028850/0090 →