IP Library › Granted Patent US 11,216,430
Granted Patent B2
US 11,216,430 · App. 15/787,283 · Granted Jan 4, 2022

Next generation near real-time indexing

Inventors: Swati Agarwal (Sunnyvale, CA); Amit Basu (San Jose, CA); Thomas Pan (Mountain View, CA); Pradeep Sankaranthi (Fremont, CA); Nicholas Whyte (San Jose, CA)
Assignee: eBay Inc.
G06F16/2228
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 11,216,430
App. No.
15/787,283
Granted
Jan 4, 2022
Kind
B2
Abstract

Methods and systems to build and utilize a search infrastructure are described. The system generates, by a first indexing subsystem, full indexes of data and sends the full indexes to a plurality of query node servers via a distribution system. The system generates, mini-indexes associated with the full indexes and sends the mini-indexes to the plurality of query node servers. The system causes the plurality of query nodes to update indexing information based on the full indexes and the mini-indexes.

Claims (62)

1. A computer-implemented method comprising:

generating, by a first indexing subsystem, full indexes of data;

sending the full indexes to a plurality of query node servers via a distribution system for configuring the plurality of query node servers to perform search queries using the full indexes;

generating mini-indexes associated with the full indexes;

selecting, based on an update priority of the mini-indexes, to send the mini-indexes to the plurality of query node servers via a first path, a second path different from the first path, or both, wherein the first path includes the distribution system and the second path excludes the distribution system, wherein the update priority of the mini-indexes has a first priority level or a second priority level, wherein the first priority level exceeds the second priority level, and wherein the selecting comprises:

selecting to send the mini-indexes to the plurality of query node servers via at least the second path based at least in part on the update priority of the mini-indexes having the first priority level; or

selecting to send the mini-indexes to the plurality of query node servers via the first path based at least in part on the update priority of the mini-indexes having the second priority level; and

sending, based on the selecting, the mini-indexes to the plurality of query node servers via the first path, the second path, or both, for configuring the plurality of query node servers to update indexing information using the full indexes and the mini-indexes.

2. The method of claim 1 , wherein the first indexing subsystem represents a map-reduced indexing system and the mini-indexes associated with the full indexes are generated by a second indexing subsystem that is different than the first indexing subsystem.

3. The method of claim 2 , wherein the second indexing subsystem representing a daemon-based indexing system that monitors for and receives in near real-time event notifications, the event notifications based on a priority ordering of events by application servers.

4. The method of claim 3 , further comprising:

publishing the updated indexing information to one or more publishing channels in the distribution system based on a normal priority document update, and publishing the updated indexing information to the plurality of query node servers based on a higher priority document update.

5. The method of claim 4 , further comprising:

updating the indexing information associated with normal priority document updates associated with the full indexes and high priority document updates associated with the mini-indexes at the plurality of query node servers;

receiving, over a network, a search query from a client machine;

identifying search results based on the search query and the updated indexing information; and

communicating the search results, over the network, to the client machine.

6. The method of claim 5 , further comprising:

processing the event notifications of the document updates in a message queue by indexing daemons and a daemon coordinator.

7. An indexing system comprising:

a plurality of query node servers, each of the plurality of query node servers being configured to perform search queries;

a first indexing subsystem;

a second indexing subsystem;

one or more computer processors; and

one or more computer-readable mediums storing instructions that, when executed by the one or more computer processors, cause the indexing system to perform operations comprising:

generating, by the first indexing subsystem, full indexes of data;

sending the full indexes to the plurality of query node servers via a distribution system;

generating mini-indexes associated with the full indexes;

selecting, based on an update priority of the mini-indexes, to send the mini-indexes to the plurality of query node servers via a first path, a second path different from the first path, or both, wherein the first path includes the distribution system and the second path excludes the distribution system, wherein the update priority of the mini-indexes has a first priority level or a second priority level, wherein the first priority level exceeds the second priority level, and wherein the selecting comprises:

selecting to send the mini-indexes to the plurality of query node servers via at least the second path based at least in part on the update priority of the mini-indexes having the first priority level; or

selecting to send the mini-indexes to the plurality of query node servers via the first path based at least in part on the update priority of the mini-indexes having the second priority level; and

sending, based on the selecting, the mini-indexes to the plurality of query node servers via the first path, the second path, or both, for configuring the plurality of query node servers to update indexing information based on the full indexes and the mini-indexes.

8. The indexing system of claim 7 , wherein the first indexing subsystem represents a map-reduced indexing system and the mini-indexes associated with the full indexes are generated by the second indexing subsystem that is different than the first indexing subsystem.

9. The indexing system of claim 8 , wherein the second indexing subsystem represents a daemon-based indexing system that monitors for and receives in near real-time event notifications, the event notifications based on a priority ordering of events by application servers.

10. The indexing system of claim 9 , the operations further comprising:

publishing the updated indexing information to one or more publishing channels in the distribution system based on a normal priority document update, and publishing the updated indexing information to the plurality of query node servers based on a higher priority document update.

11. The indexing system of claim 10 , the operations further comprising:

updating the indexing information associated with normal priority document updates associated with the full indexes and high priority document updates associated with the mini-indexes at the plurality of query node servers;

receiving, over a network, a search query from a client machine;

identifying search results based on the search query and the updated indexing information; and

communicating the search results, over the network, to the client machine.

12. The indexing system of claim 11 , the operations further comprising:

processing the event notifications of the document updates in a message queue by indexing daemons and a daemon coordinator.

13. A non-transitory computer-readable medium storing instructions that, when executed by one or more computer processors of an indexing system, cause the indexing system to perform operations comprising:

generating, by a first indexing subsystem of the indexing system, full indexes of data;

sending the full indexes to a plurality of query node servers via a distribution system for configuring the plurality of query node servers to perform search queries using the full indexes;

generating mini-indexes associated with the full indexes;

selecting, based on an update priority of the mini-indexes, to send the mini-indexes to the plurality of query node servers via a first path, a second path different from the first path, or both, wherein the first path includes the distribution system and the second path excludes the distribution system, wherein the update priority of the mini-indexes has a first priority level or a second priority level, wherein the first priority level exceeds the second priority level, and wherein the selecting comprises:

selecting to send the mini-indexes to the plurality of query node servers via at least the second path based at least in part on the update priority of the mini-indexes having the first priority level; or

selecting to send the mini-indexes to the plurality of query node servers via the first path based at least in part on the update priority of the mini-indexes having the second priority level; and

sending, based on the selecting, the mini-indexes to the plurality of query node servers via the first path, the second path, or both, for configuring the plurality of query node servers to update indexing information using the full indexes and the mini-indexes.

14. The non-transitory computer-readable medium of claim 13 , wherein the first indexing subsystem represents a map-reduced indexing system and the mini-indexes associated with the full indexes are generated by a second indexing subsystem of the indexing system that is different than the first indexing subsystem.

15. The non-transitory computer-readable medium of claim 14 , the second indexing subsystem representing a daemon-based indexing system that monitors for and receives in near real-time event notifications, the event notifications being based on a priority ordering of events by application servers.

16. The non-transitory computer-readable medium of claim 15 , the operations further comprising:

publishing the updated indexing information to one or more publishing channels in the distribution system based on a normal priority document update, and publishing the updated indexing information to the plurality of query node servers based on a higher priority document update.

17. The non-transitory computer-readable medium of claim 16 , the operations further comprising:

updating the indexing information associated with normal priority document updates associated with the full indexes and high priority document updates associated with the mini-indexes at the plurality of query node servers;

receiving, over a network, a search query from a client machine;

identifying search results based on the search query and the updated indexing information; and

communicating the search results, over the network, to the client machine.

18. The non-transitory computer-readable medium of claim 17 , the operations further comprising:

processing the event notifications of the document updates in a message queue by indexing daemons and a daemon coordinator.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2017
From: AGARWAL, SWATI; BASU, AMIT; PAN, THOMAS; SANKARANTHI, PRADEEP; WHYTE, NICHOLAS
To: EBAY INC.
Reel/Frame 043902/0286 →
Continuity (3)
Continuation 14145414 · Dec 31, 2013
Provisional Application 61747677 · Dec 31, 2012
Related Publication 20180101554A1 · Apr 12, 2018