IP Library › Granted Patent US 10,762,139
Granted Patent B1
US 10,762,139 · App. 15/279,818 · Granted Sep 1, 2020

Method and system for managing a document search index

Inventors: Hongtao Dai (Shanghai, CN); Lei Zhang (Shanghai, CN); Chao Chen (Shanghai, CN); Kunwu Huang (Shanghai, CN); Jingjing Liu (Shanghai, CN); Ying Teng (Pleasanton, CA)
Assignee: EMC IP Holding Company LLC
G06F16/93G06F16/2246
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,762,139
App. No.
15/279,818
Granted
Sep 1, 2020
Kind
B1
Abstract

A method for managing a document search index. The method includes obtaining indexing terms for documents in a document repository to generate search index fragments, storing the search index fragments in a document search index, and constructing a hierarchical structure from a first set of stored search index fragments. The selected first set of search index fragments is arranged by size, in the hierarchical structure. The method further includes selecting, based on a minimal size, a second set of stored search index fragments from the hierarchical structure, merging the second set of stored search index fragments to obtain a larger search index fragment, storing the larger search index fragment in the document search index, and serving at least one search request using the larger search index fragment.

Claims (77)

1. A method for managing a document search index, comprising:

obtaining indexing terms for documents in a document repository to generate a plurality of search index fragments;

storing the plurality of search index fragments in the document search index;

constructing a hierarchical structure from a first plurality of stored search index fragments, wherein the first plurality of stored search index fragments is arranged by size in the hierarchical structure and wherein the hierarchical structure comprises at least one virtual element that connects at least two of the first plurality of stored search index fragments in the hierarchical structure;

selecting, based on a minimal size, a second plurality of stored search index fragments from the hierarchical structure;

merging the second plurality of stored search index fragments to obtain a larger search index fragment, wherein the at least one virtual element comprises the larger search index fragment;

storing the larger search index fragment in the document search index; and

serving at least one search request using the larger search index fragment.

2. The method of claim 1 , wherein a cardinality of the first plurality of stored search index fragments is governed by a target value of the stored search index fragments in the document search index.

3. The method of claim 1 , wherein the hierarchical structure is a Huffman tree, and wherein the first plurality of stored search index fragments is organized, in the Huffman tree, by search index fragment size.

4. The method of claim 1 , wherein merging the second plurality of stored search index fragments comprises:

obtaining indexing terms from each of the stored search index fragments in the second plurality of search index fragments; and

storing the obtained indexing terms in the larger search index fragment.

5. The method of claim 1 , wherein a cardinality of the second plurality of search index fragments is governed by a maximum merge threshold that specifies a maximum number of search index fragments to be merged into the larger search index fragment.

6. The method of claim 1 , further comprising:

making a determination that additional stored search index fragments are remaining, after constructing the hierarchical structure;

based on the determination:

selecting, based on minimal size of the remaining search index fragments, a third plurality of search index fragments from the stored remaining search index fragments; and

arranging the third plurality of search index fragments in a second hierarchical structure.

7. The method of claim 1 , further comprising:

making a determination that after selecting the second plurality of search index fragments, non-selected search index fragments are remaining in the hierarchical structure, and based on the determination:

selecting, based on minimal size of the non-selected search index fragments, a third plurality of stored search index fragments;

merging the third plurality of stored search index fragments, to obtain a second larger search index fragment; and

storing the second larger search index fragment in the document search index.

8. The method of claim 1 , further comprising:

adding a document to the document repository;

obtaining additional indexing terms for the added document; and

storing the additional indexing terms in an additional search index fragment in the document search index.

9. A non-transitory computer readable medium (CRM) comprising instructions that enable a system for managing a document search index to:

obtain indexing terms for documents in a document repository to generate a plurality of search index fragments;

store the plurality of search index fragments in the document search index;

construct a hierarchical structure from a first plurality of stored search index fragments, wherein the first plurality of stored search index fragments is arranged by size in the hierarchical structure and wherein the hierarchical structure comprises at least one virtual element that connects at least two of the first plurality of stored search index fragments in the hierarchical structure;

select, based on a minimal size, a second plurality of stored search index fragments from the hierarchical structure;

merge the second plurality of stored search index fragments to obtain a larger search index fragment, wherein the at least one virtual element comprises the larger search index fragment;

store the larger search index fragment in the document search index; and

serve at least one search request using the larger search index fragment.

10. The non-transitory CRM of claim 9 , wherein the hierarchical structure is a Huffman tree, and wherein the first plurality of stored search index fragments is organized, in the Huffman tree, by search index fragment size.

11. The non-transitory CRM of claim 9 , wherein merging the second plurality of stored search index fragments comprises:

obtaining indexing terms from each of the stored search index fragments in the second plurality of search index fragments; and

storing the obtained indexing terms in the larger search index fragment.

12. The non-transitory CRM of claim 9 , wherein a cardinality of the second plurality of search index fragments is governed by a maximum merge threshold that specifies a maximum number of search index fragments to be merged into the larger search index fragment.

13. The non-transitory CRM of claim 9 , wherein the instructions further enable the system for managing the document search index to:

make a determination that additional stored search index fragments are remaining, after constructing the hierarchical structure;

based on the determination:

select, based on minimal size of the remaining search index fragments, a third plurality of search index fragments from the stored remaining search index fragments; and

arrange the third plurality of search index fragments in a second hierarchical structure.

14. The non-transitory CRM of claim 9 , wherein the instructions further enable the system for managing document search index to:

make a determination that after selecting the second plurality of search index fragments, non-selected search index fragments are remaining in the hierarchical structure, and based on the determination:

select, based on minimal size of the non-selected search index fragments, a third plurality of stored search index fragments;

merge the third plurality of stored search index fragments, to obtain a second larger search index fragment; and

store the second larger search index fragment in the document search index.

15. A system for managing a document search index, the system comprising:

a document management service; and

a repository server comprising a document repository and the document search index;

wherein the document management service:

obtains indexing terms for documents in the document repository to generate a plurality of search index fragments;

store the plurality of search index fragments in the document search index;

construct a hierarchical structure from a first plurality of stored search index fragments, wherein the selected first plurality of stored search index fragments is arranged by size in the hierarchical structure and wherein the hierarchical structure comprises at least one virtual element that connects at least two of the first plurality of stored search index fragments in the hierarchical structure;

select, based on a minimal size, a second plurality of stored search index fragments from the hierarchical structure;

merge the second plurality of stored search index fragments to obtain a larger search index fragment, wherein the at least one virtual element comprises the larger search index fragment;

store the larger search index fragment in the document search index; and

serve at least one search request using the larger search index fragment.

16. The system for managing the document search index of claim 15 , wherein the hierarchical structure is a Huffman tree, and wherein the first plurality of stored search index fragments is organized, in the Huffman tree, by search index fragment size.

17. The system for managing the document search index of claim 15 , wherein merging the second plurality of stored search index fragments comprises:

obtaining indexing terms from each of the stored search index fragments in the second plurality of search index fragments; and

storing the obtained indexing terms in the larger search index fragment.

18. The system for managing the document search index of claim 15 , wherein a cardinality of the second plurality of search index fragments is governed by a maximum merge threshold that specifies a maximum number of search index fragments to be merged into the larger search index fragment.

19. The system for managing the document search index of claim 15 , wherein the document management service further:

makes a determination that additional stored search index fragments are remaining, after constructing the hierarchical structure;

based on the determination:

selects, based on minimal size of the remaining search index fragments, a third plurality of search index fragments from the stored remaining search index fragments; and

arranges the third plurality of search index fragments in a second hierarchical structure.

20. The system for managing the document search index of claim 15 , wherein the document management service further:

makes a determination that after selecting the second plurality of search index fragments, non-selected search index fragments are remaining in the hierarchical structure, and based on the determination:

selects, based on minimal size of the non-selected search index fragments, a third plurality of stored search index fragments;

merges the third plurality of stored search index fragments, to obtain a second larger search index fragment; and

stores the second larger search index fragment in the document search index.

Assignments (4)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2016
From: DAI, HONGTAO; ZHANG, LEI; CHEN, CHAO; HUANG, KUNWU; LIU, JINGJING; TENG, YING
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 039936/0839 →
Cited By (2)
US 12,254,032 US 12,591,601