Fault-tolerant search
First Claim
1. A method comprising:
- performing a first search based on a first text string that comprises one or more terms;
based on the first search, identifying one or more search results;
after identifying the one or more search results, causing the one or more search results to be displayed;
while the one or more search results are displayed;
receiving first input that changes the first text string to a second text string;
in response to receiving the first input;
performing a second search based, at least in part, on the second text string, and determining that no search results are identified based on the second search;
after determining that no search results are identified based on the second search, continuing to display the one or more search results;
while one or more search results are displayed;
receiving second input that changes a third text string to a fourth text string, wherein the third text string is the second text string or is based on the second text string;
in response to receiving the second input, performing a third search based on the fourth text string;
determining whether any search results are identified based on the third search;
in response to determining that no search results are identified based on the third search, incrementing a miss counter and determining whether the miss counter is above a threshold;
if the miss counter is above the threshold, then ceasing to display the one or more search results;
wherein the method is performed by one or more computing devices.
9 Assignments
0 Petitions
Accused Products
Abstract
In an embodiment, a method comprises performing a first search based on a first text string; based on the first search, identifying one or more search results; after identifying the one or more search results, causing the one or more search results to be displayed; while the one or more search results are displayed: receiving input that changes the first text string to a modified text string; in response to receiving the input: performing a second search based, at least in part, on a portion of the modified text string, and determining that no search results are identified based on the second search; after determining that no search results are identified based on the second search, continuing to display the one or more search results; wherein the method is performed by one or more computing devices.
-
Citations
22 Claims
-
1. A method comprising:
-
performing a first search based on a first text string that comprises one or more terms; based on the first search, identifying one or more search results; after identifying the one or more search results, causing the one or more search results to be displayed; while the one or more search results are displayed; receiving first input that changes the first text string to a second text string;
in response to receiving the first input;performing a second search based, at least in part, on the second text string, and determining that no search results are identified based on the second search; after determining that no search results are identified based on the second search, continuing to display the one or more search results; while one or more search results are displayed; receiving second input that changes a third text string to a fourth text string, wherein the third text string is the second text string or is based on the second text string; in response to receiving the second input, performing a third search based on the fourth text string; determining whether any search results are identified based on the third search; in response to determining that no search results are identified based on the third search, incrementing a miss counter and determining whether the miss counter is above a threshold; if the miss counter is above the threshold, then ceasing to display the one or more search results; wherein the method is performed by one or more computing devices. - View Dependent Claims (3, 9, 19)
-
-
2. A method comprising:
-
performing a first search based on a first text string that comprises one or more terms; based on the first search, identifying one or more search results; after identifying the one or more search results, causing the one or more search results to be displayed; while the one or more search results are displayed; receiving first input that changes the first text string to a second text string;
in response to receiving the first input;performing a second search based, at least in part, on the second text string, and determining that no search results are identified based on the second search; after determining that no search results are identified based on the second search, continuing to display the one or more search results; in response to determining that no search results are identified based on the second search, incrementing a counter for each search term, in a portion of the second text string, that starts with a term in a particular list but does not exactly match the term in the particular list; determining whether the counter is equal to a particular threshold; wherein continuing to display the one or more search results is performed only if the counter is less than the particular threshold. - View Dependent Claims (20)
-
-
4. A method comprising:
-
while a first text string is being formed, creating a first list; classifying each of one or more terms, of the first text string, as a bad term, wherein a term is classified as a bad term if a search that was performed using the term yielded no search results;
adding the one or more terms to the first list;creating a second list; classifying each of one or more second terms, of the first text string, as a good term, wherein a particular term is classified as a good term if a search that was performed using the particular term yielded one or more search results; adding the one or more second terms to the second list; performing a first search based on the first text string; based on the first search, identifying one or more search results; after identifying the one or more search results, causing the one or more search results to be displayed; while the one or more search results are displayed, receiving first input that changes the first text string to a second text string; determining whether a certain term in the second text string begins with a term in the first list; in response to determining that the certain term in the second text string begins with a term in the first list, removing the certain term from the second text string; determining whether the certain term begins with a term in the second list; in response to determining that the certain term begins with a term in the second list, adding the term in the second list to the second text string. - View Dependent Claims (5, 6, 7, 8)
-
-
10. One or more non-transitory storage media storing instructions which, when executed by one or more processors, cause the one or more processors to perform:
-
performing a first search based on a first text string that comprises one or more terms; based on the first search, identifying one or more search results; after identifying the one or more search results, causing the one or more search results to be displayed; while the one or more search results are displayed; receiving first input that changes the first text string to a second text string;
in response to receiving the first input;performing a second search based, at least in part, on the second text string, and determining that no search results are identified based on the second search; after determining that no search results are identified based on the second search, continuing to display the one or more search results; while one or more search results are displayed; receiving second input that changes a third text string to a fourth text string, wherein the third text string is the second text string or is based on the second text string; in response to receiving the second input, performing a third search based on the fourth text string; determining whether any search results arc identified based on the third search; in response to determining that no search results are identified based on the third search, incrementing a miss counter and determining whether the miss counter is above a threshold; if the miss counter is above the threshold, then ceasing to display the one or more search results. - View Dependent Claims (12, 18, 22)
-
-
11. One or more non-transitory storage media storing instructions which, when executed by one or more processors, cause:
-
performing a first search based on a first text string that comprises one or more terms; based on the first search, identifying one or more search results; after identifying the one or more search results, causing the one or more search results to be displayed; while the one or more search results are displayed; receiving first input that changes the first text string to a second text string; in response to receiving the first input; performing a second search based, at least in part, on the second text string, and determining that no search results are identified based on the second search; after determining that no search results are identified based on the second search, continuing to display the one or more search results; in response to determining that no search results are identified based on the second search, incrementing a counter for each search term, in the portion of the second text string, that starts with a term in a particular list but does not exactly match the term in the particular list; determining whether the counter is equal to a particular threshold; wherein continuing to display the one or more search results is performed only if the counter is less than the particular threshold. - View Dependent Claims (21)
-
-
13. One or more non-transitory storage media storing instructions which, when executed by one or more processors, cause:
-
while a first text string is being formed, creating a first list; classifying each of one or more terms, of the first text string, as a bad term, wherein a term is classified as a bad term if a search that was performed using the term yielded no search results; adding the one or more terms to the first list; creating a second list; classifying each of one or more second terms, of the first text string, as a good term, wherein a particular term is classified as a good term if a search that was performed using the particular term yielded one or more search results; adding the one or more second terms to the second list;
performing a first search based on the first text string;
based on the first search, identifying one or more search results;after identifying the one or more search results, causing the one or more search results to be displayed; while the one or more search results are displayed, receiving first input that changes the first text string to a second text string; determining whether a certain term in the second text string begins with a term in the first list; in response to determining that the certain term in the second text string begins with a term in the first list, removing the certain term from the second text string; determining whether the certain term begins with a term in the second list; in response to determining that the certain term begins with a term in the second list, adding the term in the second list to the second text string. - View Dependent Claims (14, 15, 16, 17)
-
Specification