IP Library Granted Patent US 12,306,857
Granted Patent B2
US 12,306,857 · App. 17/217,731 · Granted May 20, 2025

Systems and methods for query term analytics

Inventor: Jeremiah Ness (Toronto, CA)
Assignee: PROOFPOINT, INC.
G06F16/3323G06F11/3086G06F11/3452G06F16/319G06F16/383
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 12,306,857
App. No.
17/217,731
Granted
May 20, 2025
Kind
B2
Abstract

A query term analytics system receives a search query from a user device. The system has an engine enhanced with the ability to track query terms using in-memory counters and leveraging an inverted index of content stored in a content repository. The search query is run on the content and, contemporaneously the engine performs a query term analysis on the query terms to produce query term analytics. The query term analysis includes an impact analysis that determines an impact of removing a keyword or keyword criteria from the search query. A compressed bitset can be used to indicate whether a keyword is in the content. The engine can accumulate statistics using the in-memory counters while the search query is being processed. Using the statistics thus accumulated, a query term analytics report is generated and provided to the user device for presentation on the user device.

Claims (49)

1. A method, comprising:

receiving, by a query term analytics system from a user device, a search query containing query terms and keyword criteria, wherein the keyword criteria specify a location within content to be searched, the query term analytics system having a processor, a query processing engine executing on the processor, a computer memory communicatively connected to the query processing engine, counters in the computer memory, and a query term analytics report generator;

processing, by the query processing engine, the search query against content stored in a content repository;

contemporaneously with the processing and as the search query is being run against the content stored in the content repository, performing, by the query processing engine, a query term analysis by performing an impact analysis on the search query, wherein performing the impact analysis comprises:

modifying the search query by removing and adding at least one of a respective query term and keyword criteria of the search query, thereby generating one or more modified search queries, comprising keywords corresponding to the respective query terms in the modified search queries;

determining, during the execution of the search query, a number of hits in the inverted index for the keywords of each modified search query based on the keyword criteria of the corresponding modified search query, the query term analysis producing query term analytics including the number of hits on the keywords during execution of the search query;

providing, by the query processing engine to the query term analytics report generator, the query term analytics on the keywords and keyword criteria in the modified search queries, wherein the query term analytics are provided without further selection from the user device;

generating, by the query term analytics report generator based on the query term analytics, a query term analytics report describing the query term analytics for the modified search queries; and

returning the search query results of the search query against the content stored in the content repository.

2. The method according to claim 1 , wherein impact analysis includes determining a number of hits responsive to the query term, the keyword, or the keyword criteria being excluded from or included in the search query.

3. The method according to claim 1 , wherein performing the query term analysis includes keeping track of the query terms in the search query using the counters in the memory and leveraging the inverted index of the content stored in the content repository.

4. The method according to claim 3 , wherein keeping track of the query terms in the search query includes updating a compressed bitset to indicate whether the content has a particular query term, a particular keyword, or particular keyword criteria.

5. The method according to claim 1 , wherein performing the query term analysis includes accumulating statistics using the counters in the computer memory as a query term in the search query is being processed and wherein the query term analytics report is generated using the statistics thus accumulated.

6. The method according to claim 1 , further comprising:

providing the query term analytics report to the user device for presentation on the user device.

7. The method according to claim 1 , wherein the content comprises a document or an electronic message.

8. A query term analytics system, comprising:

a processor;

a computer memory; and

stored instructions translatable by the processor for:

receiving, from a user device, a search query containing query terms and keyword criteria, wherein the keyword criteria specify a location within content to be searched;

processing the search query against content stored in a content repository;

contemporaneously with the processing and as the search query is being run against the content stored in the content repository, performing a query term analysis by performing an impact analysis on the search query, wherein performing the impact analysis comprises:

modifying the search query by removing and adding at least one of a respective query term and keyword criteria of the search query, thereby generating one or more modified search queries, comprising keywords corresponding to the respective query terms in the modified search queries;

determining, during the execution of the search query, a number of hits in the inverted index for the keywords of each modified search query based on the keyword criteria of the corresponding modified search query, the query term analysis producing query term analytics including the number of hits on the keywords during execution of the search query;

generating, based on the query term analytics, a query term analytics report describing the query term analytics for the modified search queries; and

returning the search query results of the search query against the content stored in the content repository.

9. The query term analytics system of claim 8 , wherein the impact analysis includes determining a number of hits responsive to the query term, the keyword, or the keyword criteria being excluded from or included in the search query.

10. The query term analytics system of claim 8 , wherein performing the query term analysis includes keeping track of the query terms in the search query using the counters in the memory and leveraging the inverted index of the content stored in the content repository.

11. The query term analytics system of claim 10 , wherein keeping track of the query terms in the search query includes updating a compressed bitset to indicate whether the content has a particular query term, a particular keyword, or particular keyword criteria.

12. The query term analytics system of claim 8 , wherein performing the query term analysis includes accumulating statistics using the counters in the computer memory as a query term in the search query is being processed and wherein the query term analytics report is generated using the statistics thus accumulated.

13. The query term analytics system of claim 8 , wherein the stored instructions are further translatable by the processor for:

providing the query term analytics report to the user device for presentation on the user device.

14. The query term analytics system of claim 8 , wherein the content comprises a document or an electronic message.

15. A computer program product comprising a non-transitory computer-readable medium storing instructions translatable by a processor of a query term analytics system for:

receiving, from a from a user device, a search query containing query terms and keyword criteria, wherein the keyword criteria specify a location within content to be searched, the query term analytics system having a processor, a query processing engine executing on the processor, a computer memory communicatively connected to the query processing engine, counters in the computer memory, and a query term analytics report generator;

processing, by the query processing engine, the search query against content stored in a content repository;

contemporaneously with the processing and as the search query is being run against the content stored in the content repository, performing, by the query processing engine, a query term analysis by performing an impact analysis on the search query, wherein performing the impact analysis comprises:

modifying the search query by removing and adding at least one of a respective query term and keyword criteria of the search query, thereby generating one or more modified search queries, comprising keywords corresponding to the respective query terms in the modified search queries;

determining, during the execution of the search query, a number of hits in the inverted index for the keywords of each modified search query based on the keyword criteria of the corresponding modified search query, the query term analysis producing query term analytics including the number of hits on the keywords during execution of the search query;

providing the query term analytics on the keywords and keyword criteria in the modified search queries, wherein the query term analytics are provided without further selection from the user device;

generating, by the query term analytics report generator based on the query term analytics, a query term analytics report describing the query term analytics for the modified search queries; and

returning the search query results of the search query against the content stored in the content repository.

16. The computer program product of claim 15 , wherein the impact analysis includes determining a number of hits responsive to the query term, the keyword, or the keyword criteria being excluded from or included in the search query.

17. The computer program product of claim 15 , wherein performing the query term analysis includes keeping track of the query terms in the search query using the counters in the memory and leveraging the inverted index of the content stored in the content repository.

18. The computer program product of claim 17 , wherein keeping track of the query terms in the search query includes updating a compressed bitset to indicate whether the content has a particular query term, a particular keyword, or particular keyword criteria.

19. The computer program product of claim 15 , wherein performing the query term analysis includes accumulating statistics using the counters in the computer memory as a query term in the search query is being processed and wherein the query term analytics report is generated using the statistics thus accumulated.

20. The computer program product of claim 15 , wherein the stored instructions are further translatable by the processor for:

providing the query term analytics report to the user device for presentation on the user device.

Assignments (5)
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 8, 2025
From: PROOFPOINT, INC.
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 073889/0677 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Mar 21, 2024
From: GOLDMAN SACHS BANK USA, AS AGENT
To: PROOFPOINT, INC.
Reel/Frame 066865/0648 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 31, 2021
From: PROOFPOINT, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 057389/0615 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 31, 2021
From: PROOFPOINT, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 057389/0642 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2021
From: NESS, JEREMIAH
To: PROOFPOINT, INC.
Reel/Frame 056341/0078 →
Continuity (2)
Provisional Application 63133043 · Dec 31, 2020
Related Publication 20220318284A1 · Oct 6, 2022
References Cited (46)
US 5704060A · Del Monte · 1997 [cited by examiner]
US 6026398A · Brown · 2000 [cited by examiner]
US 6038560A · Wical · 2000 [cited by examiner]
US 7831609B1 · Alexander · 2010 [cited by examiner]
US 8498980B2 · Cochran · 2013 [cited by examiner]
US 8694503B1 · Naga · 2014 [cited by examiner]
US 9075799B1 · Tellefsen · 2015 [cited by examiner]
US 9152667B1 · Wu · 2015 [cited by examiner]
US 9449080B1 · Zhang · 2016 [cited by examiner]
US 9552412B1 · Lowe · 2017 [cited by examiner]
US 10318630B1 · Kesin · 2019 [cited by examiner]
US 10452691B2 · Liu · 2019 [cited by examiner]
US 10504139B1 · Heiser · 2019 [cited by examiner]
US 10810236B1 · Zhao · 2020 [cited by examiner]
US 20010000192A1 · Gonzalez · 2001 [cited by examiner]
US 20030212673A1 · Kadayam · 2003 [cited by examiner]
US 20040019677A1 · Fukumoto · 2004 [cited by examiner]
US 20040068488A1 · Dettinger · 2004 [cited by examiner]
US 20050131876A1 · Ahuja · 2005 [cited by examiner]
US 20050209951A1 · Aron · 2005 [cited by examiner]
US 20060224593A1 · Benton · 2006 [cited by examiner]
US 20090094262A1 · Marvit · 2009 [cited by examiner]
US 20090157669A1 · Nakayama · 2009 [cited by examiner]
US 20090193352A1 · Bunn · 2009 [cited by examiner]
US 20090292677A1 · Kim · 2009 [cited by examiner]
US 20100185661A1 · Malden · 2010 [cited by examiner]
US 20100250573A1 · Mayer · 2010 [cited by examiner]
US 20110213767A1 · Fontoura · 2011 [cited by examiner]
US 20110295834A1 · Augustin · 2011 [cited by examiner]
US 20120296891A1 · Rangan · 2012 [cited by examiner]
US 20130151534A1 · Luks · 2013 [cited by examiner]
US 20130262471A1 · Whitman · 2013 [cited by examiner]
US 20150074007A1 · Gabriel · 2015 [cited by examiner]
US 20150169582A1 · Jain · 2015 [cited by examiner]
US 20160147872A1 · Agarwalla · 2016 [cited by examiner]
US 20160239487A1 · Potharaju · 2016 [cited by examiner]
US 20160261701A1 · Dhawan · 2016 [cited by examiner]
US 20170024461A1 · Mac an tSaoir · 2017 [cited by examiner]
US 20170293677A1 · Boguraev · 2017 [cited by examiner]
US 20180089316A1 · Ganot · 2018 [cited by examiner]
US 20190102413A1 · Hsu · 2019 [cited by examiner]
US 20200034357A1 · Panuganty · 2020 [cited by examiner]
US 20220019581A1 · Minami · 2022 [cited by examiner]
European Search Report issued for European Patent Application No. 21167940.2, mailed Sep. 13, 2021, 9 pages. [cited by applicant]
Debabrata et al., “Dynamic Faceted Search for Discovery-Driven Analysis,” Proceedings of the 17th ACM Conference on Information and Knowledge Mining, 2002, ACM Press, pp. 3-12. [cited by applicant]
Examination Report issued by the European Patent Office for European Patent Application No. 21167940.2, mailed Nov. 27, 2023, 6 pages. [cited by applicant]