IP Library Granted Patent US 8,972,431
Granted Patent B2
US 8,972,431 · App. 12/850,502 · Granted Mar 3, 2015

Synonym supported searches

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 8,972,431
App. No.
12/850,502
Granted
Mar 3, 2015
Kind
B2
Abstract

Systems and methods for performing a data search through a search query is disclosed. The method includes receiving the search query and parsing the search query to retrieve a search term. The search term includes a plurality of words. In the search term, a first combination of two or more of the plurality of words and a second combination of two or more of the plurality of words are indentified. The first combination and the second combination include a common term. The first combination ends with the common term and the second combination begins with the common term. The method further includes retrieving synonyms for the first combination and the second combination exist in a synonym storage and the search query is then modified to include the first combination in a logical OR relationship with the synonyms of the first combination and the second combination in a logical OR relationship with the synonyms of the second combination. The modified search query is executed against a data store.

Claims (36)

1. A computer implemented method for performing a data search through a search query, the method comprising:

receiving the search query including an organization identification that identifies one of a plurality of organizations being serviced in a multi-tenant database service environment;

parsing the search query to retrieve a search phrase, the search phrase including a plurality of words;

in the search phrase, identifying a first combination of two or more of the plurality of words and a second combination of two or more of the plurality of words, the first combination and the second combination having a common term, wherein the first combination ends with the common term and the second combination begins with the common term;

retrieving, according to the organization identification, synonyms for the first combination and the second combination from a synonym storage;

modifying the search query to include the first combination in a logical OR relationship with the synonyms of the first combination and the second combination in a logical OR relationship with the synonyms of the second combination; and

executing the modified search query against a data store.

2. The method as recited in claim 1 , wherein if the synonyms for the first combination do not exist, removing the common term from the first combination prior to the retrieving.

3. The method as recited in claim 1 , wherein if the synonyms for the second combination do not exist, removing the common term from the second combination prior to the retrieving.

4. The method as recited in claim 1 , wherein the retrieving further includes identifying separate words in the first combination and retrieving synonyms for each of the separate words.

5. The method as recited in claim 1 , wherein the retrieving further includes identifying separate words in the second combination and retrieving synonyms for each of the separate words.

6. The method as recited in claim 1 , wherein the common term is removed from the first combination prior to the retrieving.

7. The method as recited in claim 1 , wherein the common term is removed from the second combination prior to the retrieving.

8. The method as recited in claim 7 , wherein the second combination is appended to the first combination after removing the common term and the second combination is set to a black value, prior to the retrieving.

9. The method as recited in claim 1 , wherein the data store is a multi-tenant database, the multi-tenant database includes logically separated data for the plurality of organizations.

10. The method as recited in claim 1 , wherein at least one of the first combination of two or more of the plurality of words and the second combination of two or more of the plurality of words includes a combination of words in proximity.

11. A non-transitory computer readable media including program instructions for performing a data search through a search query, the program instructions when executed by a microprocessor performs method steps of:

receiving the search query including an organization identification that identifies one of a plurality of organizations being serviced in a multi-tenant database service environment;

parsing the search query to retrieve a search phrase, the search phrase including a plurality of words;

in the search phrase, identifying a first combination of two or more of the plurality of words and a second combination of two or more of the plurality of words, the first combination and the second combination having a common term, wherein the first combination ends with the common term and the second combination begins with the common term;

retrieving, according to the organization identification, synonyms for the first combination and the second combination from a synonym storage;

modifying the search query to include the first combination in a logical OR relationship with the synonyms of the first combination and the second combination in a logical OR relationship with the synonyms of the second combination; and

executing the modified search query against a data store.

12. The non-transitory computer readable media as recited in claim 11 , further comprising programming instruction to determine if the synonyms for the first combination do not exist and removing the common term from the first combination prior to the retrieving.

13. The non-transitory computer readable media as recited in claim 11 , further comprising programming instruction to determine if the synonyms for the second combination do not exist and removing the common term from the second combination prior to the retrieving.

14. The non-transitory computer readable media as recited in claim 11 , wherein programming instructions for the retrieving further includes programming instructions for identifying separate words in the first combination and retrieving synonyms for each of the separate words.

15. The non-transitory computer readable media as recited in claim 11 , wherein programming instructions for the retrieving further includes programming instructions for identifying separate words in the second combination and retrieving synonyms for each of the separate words.

16. A system for performing a data search through a search query, the system comprising:

an application server in communication with a client computing system, the application server including a synonym processing module in communication with a synonym database, the synonym processing module being configured to retrieve, according to an organization identification, synonyms for overlapping combinations of two or more of a plurality of words in the search query, the overlapping combinations having an overlapping common term and the search query including the organization identification that identifies one of a plurality of organizations being serviced in a multi-tenant database service environment;

a query server in communication with the application server, the query server also being in communication with an index database;

a data store in communication with the query server; and

an indexer module to retrieve keywords from the data store and to store, in the index database, the keywords and location of the keywords in the data store.

17. The system as recited in claim 16 , wherein the application server further including a distributed cache to store at least some content of the synonym database.

18. The system as recited in claim 17 , wherein the distributed cache is configured to retrieve synonym data from at least one of the synonym database or an external synonym database.

19. The system as recited in claim 16 , wherein the data store is a multi-tenant database, the multi-tenant database includes logically separated data for the plurality of organizations.

20. The system as recited in claim 19 , wherein the synonym database includes synonym data that is logically separated for the plurality of organizations.

Assignments (2)
CHANGE OF NAME Recorded Oct 24, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069270/0655 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2010
From: PRESS, WILLIAM A., MR.; GEH, NICHOLAS B., MR.
To: SALESFORCE.COM, INC.
Reel/Frame 024790/0981 →