# US 11,308,084 B2 · Optimized search service

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,308,084 B2
- Document ID: US11308084B2
- Status: Granted
- Kind: B2
- Application number: 16/352,177
- Filed: 2019-03-13
- Published: 2020-09-17
- Granted: 2022-04-19
- Earliest claimed: 2019-03-13
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Timo Kussmaul; Andreas Prokoph; Uwe Hansmann; Thomas Stober
- Web page: https://patentgrep.com/patent/US11308084B2

## CPC

- G06F 16/2453: Query optimisation
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method for an optimized search service comprising a search engine, two search indexes and a search term suggestion service may be provided. The method comprises collecting search queries, search results and search term suggestions, determining an acceptance rate value for each search term suggestion for the two search indexes, determining a first search configuration of a first index having an acceptance rate value below a first threshold value, determining a second search configuration of a second index including parameters for controlling search term suggestions for at least one search index having an acceptance rate value above a second threshold value, and having a search configuration that is compatible according to a compatibility value to the first search configuration, wherein the first index and the second index have similar content, and copying a selected set of parameters of the configuration of the second search index into the first index.

## Claims

### Claim 1

A method comprising:
receiving a first search configuration for a search service,
wherein the first search configuration includes a first acceptance rate value and first search parameters for controlling a first search,
wherein the first acceptance rate value is below a threshold;
receiving a search log comprising a set of historical search configurations,
wherein one or more of the historical search configurations in the set of historical search configurations comprises a set of historical search parameters and a historical acceptance rate value;
analyzing the search log for historical search configurations with a high acceptance rate value,
wherein the acceptance rate value is a percentage of suggested terms that have been accepted by a user;
selecting one or more historical search configurations that exceed a threshold, based on the analyzing;
comparing the first search parameters to the set of historical search parameters;
electing, based on the comparing, one or more historical search configurations from the set of historical search configurations that are compatible with the first search configuration;
identifying, based on the selecting and the electing, a historical search configuration that exceeds the threshold based on the analyzing and is compatible with the first search configuration;
replacing a variable parameter in the first search parameters with a respective parameter from a model log search configuration resulting in a second search configuration; and
performing a search with the second search configuration.

### Claim 2 (depends on 1)

The method according to claim 1, wherein a model historical acceptance rate value, included in the model historical search configuration, is an average acceptance rate value for multiple searches performed using model log search configuration.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the variable parameter is dynamically determined.

### Claim 4 (depends on 1)

The method according to claim 1, further comprising identifying the variable parameter based on a probability that changing the variable parameter would cause the second search configuration to have a second acceptance rate that is higher than the first acceptance rate.

### Claim 5 (depends on 1)

The method according to claim 1, wherein the search service operates on a document body of a content management system accessed by multiple tenants.

### Claim 6 (depends on 5)

The method according to claim 5, wherein the first search configuration is tenant specific.

### Claim 7 (depends on 1)

The method according to claim 1, wherein first search configuration includes at least one of the functions of the group comprising spellchecking, type-ahead, and autocomplete.

### Claim 8 (depends on 1)

The method according to claim 1, wherein the search service is using an open source enterprise search platform.

### Claim 9 (depends on 1)

The method according to claim 1, wherein the selecting is determined by a percentage of identical terms shared between the first search parameters and the set of historical search parameters.

### Claim 10

A system comprising:
a processor; and
a memory in communication with the processor, the memory containing program instructions that, when executed by the processor, are configured to cause the processor to perform a method, the method comprising:
receiving a first search configuration for a search service,
wherein the first search configuration includes a first acceptance rate value and first search parameters for controlling a first search,
wherein the first acceptance rate value is below a threshold;
receiving a search log comprising a set of historical search configurations,
wherein one or more of the historical search configurations in the set of historical search configurations comprises a set of historical search parameters and a historical acceptance rate value;
analyzing the search log for historical search configurations with a high acceptance rate value,
wherein the acceptance rate value is a percentage of suggested terms that have been accepted by a user;
selecting one or more historical search configurations that exceed a threshold, based on the analyzing;
comparing the first search parameters to the set of historical search parameters;
electing, based on the comparing, one or more historical search configurations from the set of historical search configurations that are compatible with the first search configuration;
identifying, based on the selecting and the electing, a historical search configuration that exceeds the threshold based on the analyzing and is compatible with the first search configuration;
replacing a variable parameter in the first search parameters with a respective parameter from a model log search configuration resulting in a second search configuration; and
performing a search with the second search configuration.

### Claim 11 (depends on 10)

The system of claim 10, wherein a model historical acceptance rate value, included in the model historical search configuration, is an average acceptance rate value for multiple searches performed using model log search configuration.

### Claim 12 (depends on 10)

The system of claim 10, wherein the variable parameter is dynamically determined.

### Claim 13 (depends on 10)

The system of claim 10, further comprising identifying the variable parameter based on a probability that changing the variable parameter would cause the second search configuration to have a second acceptance rate that is higher than the first acceptance rate.

### Claim 14 (depends on 10)

The system of claim 10, wherein the search service operates on a document body of a content management system accessed by multiple tenants.

### Claim 15 (depends on 14)

The system of claim 14, wherein the first search configuration is tenant specific.

### Claim 16 (depends on 10)

The system of claim 10, wherein first search configuration includes at least one of the functions of the group comprising spellchecking, type-ahead, and autocomplete.

### Claim 17 (depends on 10)

The system of claim 10, wherein the search service is using an open source enterprise search platform.

### Claim 18 (depends on 10)

The system of claim 10, wherein the selecting is determined by a percentage of identical terms shared between the first search parameters and the set of historical search parameters.

### Claim 19

A computer program product, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to:
receive a first search configuration for a search service,
wherein the first search configuration includes a first acceptance rate value and first search parameters for controlling a first search,
wherein the first acceptance rate value is below a threshold;
receive a search log comprising a set of historical search configurations,
wherein one or more of the historical search configurations in the set of historical search configurations comprises a set of historical search parameters and a historical acceptance rate value;
analyze the search log for historical search configurations with a high acceptance rate value,
wherein the acceptance rate value is a percentage of suggested terms that have been accepted by a user;
select one or more historical search configurations that exceed a threshold, based on the analyzing;
compare the first search parameters to the set of historical search parameters;
elect, based on the comparing, one or more historical search configurations from the set of historical search configurations that are compatible with the first search configuration;
identify, based on the selecting and the electing, a historical search configuration that exceeds the threshold based on the analyzing and is compatible with the first search configuration;
replace a variable parameter in the first search parameters with a respective parameter from a model log search configuration resulting in a second search configuration; and
perform a search with the second search configuration.

### Claim 20 (depends on 19)

The computer program product of claim 19, wherein a model historical acceptance rate value, included in the model historical search configuration, is an average acceptance rate value for multiple searches performed using model log search configuration.
