IP Library Granted Patent US 9,959,352
Granted Patent B2
US 9,959,352 · App. 14/527,976 · Granted May 1, 2018

Automatically modifying a custom search engine for a web site based on administrator input to search results of a specific search query

Inventors: Matthew T. Riley (San Francisco, CA); Quinlan J. Hoxie (San Francisco, CA)
Assignee: Swiftype, Inc.
G06F17/30867G06F3/0481G06F17/30G06F17/3053G06F17/30864H04L67/02
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,959,352
App. No.
14/527,976
Granted
May 1, 2018
Kind
B2
Abstract

Automatically creating and modifying a search engine for a website. User input may be received specifying an address of a website. A search engine may be automatically created for the website based on the user input. Webpages of the website may specify a plurality of tags specifying custom attributes of the webpages. During creation of the search engine, these custom attributes may be incorporated into the search engine index. Additional user input may be received customizing the search engine for various search engine contexts, e.g., based on the custom attributes of the webpages. Search engine results for the website may be based on various ranking functions, potentially including social impact of webpages of the website.

Claims (48)

1. A method for customizing a search engine, comprising:

a computer server receiving user input from a user providing a search query to a search engine, wherein the user input is provided to a first website and wherein the search engine is specific to a second website, and wherein the user is an administrator of the second website;

the computer server providing a plurality of search results of the second website based on the search query, wherein the plurality of search results are displayed to the user via a first graphical user interface on the first website;

the computer server receiving input specifying a modification to the search results, wherein the input is provided to the first website, wherein the input is based on user input to the first graphical user interface;

the computer server automatically modifying the search engine based on the input, wherein the modification to the search engine is specific to the search query, and wherein the modification applies to all users of the search engine.

2. The method of claim 1 , wherein the input specifies a change in order of search results of the plurality of search results.

3. The method of claim 2 , wherein the input is based on the user dragging a first result from a first position to a second position in the first graphical user interface.

4. The method of claim 2 , wherein the input specifies a change in position of a first result from a first position to a second position, wherein a second result at the second position is moved to a third position immediately after the second position after said specifying the change, and wherein the method further comprises:

modifying the search engine based on changes of webpages of the first website;

receiving user input specifying the search query to the search engine;

determining a plurality of search results in response to the search query, wherein without modification to the search engine based on the input specifying a change in order of search results, a third result would occupy the second position instead of the second result based on the modification of the search engine based on the changes of webpages of the first website;

providing the plurality of search results, wherein the plurality of search results comprises the first result at the second position instead of the third result.

5. The method of claim 1 , wherein the input specifies removal of a first search result.

6. The method of claim 1 , wherein the input specifies an addition of a first search result.

7. The method of claim 6 , further comprising:

receiving an additional search query to locate the first search result;

providing a second set of search results based on the search query; and

receiving user input selecting the first search result from the second set of search results.

8. The method of claim 1 , wherein the modification to the search engine also applies to related search queries of the search query.

9. The method of claim 1 , wherein the first graphical user interface comprises a webpage.

10. The method of claim 1 , wherein said receiving user input specifying a search query, said providing the plurality of search results, said receiving user input specifying a modification to the search results, and said automatically modifying the search engine is performed a plurality of times for a plurality of different search engines corresponding to a plurality of different websites.

11. A non-transitory, computer accessible memory medium storing program instructions for customizing a search engine, wherein the program instructions are executable by one or more processors to:

receive user input from a user providing a search query to a search engine, wherein the user input is provided to a first website and wherein the search engine is specific to a second website, and wherein the user is an administrator of the second website;

provide a plurality of search results based on the search query, wherein the plurality of search results are displayed to the user via a first graphical user interface on the first website;

receive input specifying a modification to the search results, wherein the input is provided to the first website, wherein the input is based on user input to the first graphical user interface;

automatically modify the search engine based on the input, wherein the modification to the search engine is specific to the search query, and wherein the modification applies to all users of the search engine.

12. The non-transitory, computer accessible memory medium of claim 11 , wherein the input specifies a change in order of search results of the plurality of search results.

13. The non-transitory, computer accessible memory medium of claim 12 , wherein the input is based on the user dragging a first result from a first position to a second position in the first graphical user interface.

14. The non-transitory, computer accessible memory medium of claim 12 , wherein the input specifies a change in position of a first result from a first position to a second position, wherein a second result at the second position is moved to a third position immediately after the second position after said specifying the change, and wherein the program instructions are further executable to:

modify the search engine based on changes of webpages of the first website;

receive user input specifying the search query to the search engine;

determine a plurality of search results in response to the search query, wherein without modification to the search engine based on the input specifying a change in order of search results, a third result would occupy the second position instead of the second result based on the modification of the search engine based on the changes of webpages of the first website;

provide the plurality of search results, wherein the plurality of search results comprises the first result at the second position instead of the third result.

15. The non-transitory, computer accessible memory medium of claim 11 , wherein the input specifies removal of a first search result.

16. The non-transitory, computer accessible memory medium of claim 11 , wherein the input specifies an addition of a first search result.

17. The non-transitory, computer accessible memory medium of claim 16 , wherein the program instructions are further executable to:

receive an additional search query to locate the first search result;

provide a second set of search results based on the search query; and

receive user input selecting the first search result from the second set of search results.

18. The non-transitory, computer accessible memory medium of claim 11 , wherein the modification to the search engine also applies to related search queries to the search query.

19. The non-transitory, computer accessible memory medium of claim 11 , wherein the first graphical user interface comprises a webpage.

20. A computer server configured to customize a search engine, comprising:

communication circuitry; and

processing hardware coupled to the communication circuitry, wherein the processing hardware and the communication circuitry are operable to:

receive user input from a user providing a search query to a search engine, wherein the user input is provided to a first website and wherein the search engine is specific to a second website, and wherein the user is an administrator of the second website;

provide a plurality of search results based on the search query, wherein the plurality of search results are displayed to the user via a first graphical user interface on the first website;

receive input specifying a modification to the search results, wherein the input is provided to the first website, wherein the input is based on user input to the first graphical user interface;

automatically modify the search engine based on the input, wherein the modification to the search engine is specific to the search query, and wherein the modification applies to all users of the search engine.

Assignments (3)
CHANGE OF NAME Recorded Apr 6, 2021
From: ELASTICSEARCH B.V.
To: ELASTICSEARCH B.V.
Reel/Frame 055843/0215 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2018
From: SWIFTYPE, INC.
To: ELASTICSEARCH B.V.
Reel/Frame 046375/0450 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2014
From: RILEY, MATTHEW T.; HOXIE, QUINLAN J.
To: SWIFTYPE, INC.
Reel/Frame 034069/0394 →
Continuity (2)
Continuation 13667493 · Nov 2, 2012
Related Publication 20150066894A1 · Mar 5, 2015