System, method and apparatus for electronically searching for an item
First Claim
1. A non-transitory computer readable storage medium storing a computer program for electronically searching for an item, the computer program comprising program instructions that when executed by a processor cause the processor to:
- access a buyer/seller/item search index comprising a search table within a relational database, a user table linked to the search table, a category table linked to the search table, and an attribute table linked to the category table, wherein the search table contains a plurality of distinct and previously stored search requests from one or more buyers or one or more sellers or a combination thereof and a set of predefined categories, wherein each predefined category in the category table is defined by a taxonomy of attributes comprising a set of predefined attributes, wherein each predefined attribute in the attribute table is defined by at least one question and one or more answers to each question;
receive a search request for the item from a user, wherein the search request comprises a requested category for the item selected from the set of predefined item categories, and one or more requested attributes of the item selected from the set of predefined attributes by providing at least one of the answers to at least one of the questions defining the requested attribute of the item;
store the search request for the item in the buyer/seller/item search index based on the requested category for the item and the requested attribute(s) of the item by storing the search request in the search table, storing information regarding the user in the user table, storing the requested category in the category table, and storing the one or more requested attributes in the attribute table;
search the search table of the buyer/seller/item search index for any previously stored search requests from other buyers or sellers that match the requested category and the requested attribute(s);
determine a result of the search;
send a search response comprising the result of the search;
persistently search the buyer/seller/item search index for the item by monitoring the buyer/seller/item search index for a trigger event until the search request is terminated, the trigger event comprising at least one of;
storing a new search request submitted by a different user in the search table of the buyer/seller/item search index, storing a change to one of the previously stored search requests submitted by the different user in the search table of the buyer/seller/item search request, a specified time period has elapsed, receipt of an update request from the user for the stored search request, a change to the search table, the user table, the category table or the attribute table of the buyer/seller/item search index that would change the result of the search, and deleting a previously stored search request by the different user in the search table of the buyer/seller/item search index;
whenever the trigger event is detected, automatically search the search table of the buyer/seller/item search index for any stored search results that match the requested category and the requested attributes, and determining a new result of the search;
compare the new result with the result and only when the new result differs from the result, automatically sending an updated search response comprising the new result of the search;
determine a numerical relevancy score for each found stored search request;
wherein the numerical relevancy score for each found stored result is determined by summing the numerical relevancy scores for each requested attribute in the search request divided by the number of requested attributes in the search request; and
wherein the numerical relevancy score for each requested attribute comprises a first numerical value whenever the requested attribute is not specified in the stored search request, a second numerical value whenever the requested attribute matches the attribute of the stored search request and the requested attribute is Must Have, a third numerical value whenever the requested attribute that matches the attribute of the stored search request and the requested attribute is not Must Have, a fourth numerical value whenever the requested attribute that does not match the attribute of the stored search request and the requested attribute is Must Have, a fifth numerical value whenever the requested attribute does not match the attribute of the stored search request and the requested attribute is not Must Have, and wherein;
(a) the first numerical value, the second numerical value, the third numerical value, the fourth numerical value and the fifth numerical value comprise at least four different values within a range from a minimum numerical value to a maximum numerical value, (b) the second numerical value is equal to the maximum numerical value, (c) the fourth numerical value is equal to the minimum numerical value, and (d) the first numerical value and the third numerical value are each greater than the minimum numerical value and less than the maximum numerical value.
3 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a system, method and apparatus for electronically searching for an item by receiving a search request comprising a requested category and one or more requested attributes of the item and storing the search request in a search index based on the requested category and the requested attribute(s). The search index includes one or more categories and each category is defined by a taxonomy of attributes. The search index is then searched for any previously stored search requests that match the requested category and the requested attribute(s), a result of the search is determined and a search response that includes the result of the search is sent.
68 Citations
129 Claims
-
1. A non-transitory computer readable storage medium storing a computer program for electronically searching for an item, the computer program comprising program instructions that when executed by a processor cause the processor to:
-
access a buyer/seller/item search index comprising a search table within a relational database, a user table linked to the search table, a category table linked to the search table, and an attribute table linked to the category table, wherein the search table contains a plurality of distinct and previously stored search requests from one or more buyers or one or more sellers or a combination thereof and a set of predefined categories, wherein each predefined category in the category table is defined by a taxonomy of attributes comprising a set of predefined attributes, wherein each predefined attribute in the attribute table is defined by at least one question and one or more answers to each question; receive a search request for the item from a user, wherein the search request comprises a requested category for the item selected from the set of predefined item categories, and one or more requested attributes of the item selected from the set of predefined attributes by providing at least one of the answers to at least one of the questions defining the requested attribute of the item; store the search request for the item in the buyer/seller/item search index based on the requested category for the item and the requested attribute(s) of the item by storing the search request in the search table, storing information regarding the user in the user table, storing the requested category in the category table, and storing the one or more requested attributes in the attribute table; search the search table of the buyer/seller/item search index for any previously stored search requests from other buyers or sellers that match the requested category and the requested attribute(s); determine a result of the search; send a search response comprising the result of the search; persistently search the buyer/seller/item search index for the item by monitoring the buyer/seller/item search index for a trigger event until the search request is terminated, the trigger event comprising at least one of;
storing a new search request submitted by a different user in the search table of the buyer/seller/item search index, storing a change to one of the previously stored search requests submitted by the different user in the search table of the buyer/seller/item search request, a specified time period has elapsed, receipt of an update request from the user for the stored search request, a change to the search table, the user table, the category table or the attribute table of the buyer/seller/item search index that would change the result of the search, and deleting a previously stored search request by the different user in the search table of the buyer/seller/item search index;whenever the trigger event is detected, automatically search the search table of the buyer/seller/item search index for any stored search results that match the requested category and the requested attributes, and determining a new result of the search; compare the new result with the result and only when the new result differs from the result, automatically sending an updated search response comprising the new result of the search; determine a numerical relevancy score for each found stored search request; wherein the numerical relevancy score for each found stored result is determined by summing the numerical relevancy scores for each requested attribute in the search request divided by the number of requested attributes in the search request; and wherein the numerical relevancy score for each requested attribute comprises a first numerical value whenever the requested attribute is not specified in the stored search request, a second numerical value whenever the requested attribute matches the attribute of the stored search request and the requested attribute is Must Have, a third numerical value whenever the requested attribute that matches the attribute of the stored search request and the requested attribute is not Must Have, a fourth numerical value whenever the requested attribute that does not match the attribute of the stored search request and the requested attribute is Must Have, a fifth numerical value whenever the requested attribute does not match the attribute of the stored search request and the requested attribute is not Must Have, and wherein;
(a) the first numerical value, the second numerical value, the third numerical value, the fourth numerical value and the fifth numerical value comprise at least four different values within a range from a minimum numerical value to a maximum numerical value, (b) the second numerical value is equal to the maximum numerical value, (c) the fourth numerical value is equal to the minimum numerical value, and (d) the first numerical value and the third numerical value are each greater than the minimum numerical value and less than the maximum numerical value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
-
-
44. An apparatus for electronically searching for an item comprising:
-
a computer having a processor communicably coupled to a data storage; a buyer/seller/item search index stored in the data storage, the buyer/seller/item search comprising a search table within a relational database, a user table linked to the search table, a category table linked to the search table, and an attribute table linked to the category table, wherein the search table contains a plurality of distinct and previously stored search requests from one or more buyers or one or more sellers or a combination thereof and a set of predefined categories, wherein each predefined category in the category table is defined by a taxonomy of attributes comprising a set of predefined attributes, wherein each predefined attribute in the attribute table is defined by at least one question and one or more answers to each question; and a search engine executable by the processor that causes the processor to; (a) receive a search request for the item from a user, wherein the search request comprises a requested category for the item selected from the set of predefined item categories, and one or more requested attributes of the item selected from the set of predefined attributes by providing at least one of the answers to at least one of the questions defining the requested attribute of the item; (b) store the search request for the item in the buyer/seller/item search index based on the requested category for the item and the requested attribute(s) for the item by storing the search request in the search table, storing information regarding the user in the user table, storing the requested category in the category table, and storing the one or more requested attributes in the attribute table; (c) search the search table of the buyer/seller/item search index for any previously stored search requests from other buyers or sellers that match the requested category and the requested attribute(s); (d) determine a result of the search; (e) send a search response comprising the result of the search; (f) persistently search the buyer/seller/item search index for the item by monitoring the buyer/seller/item search index for a trigger event until the search request is terminated, the trigger event comprising at least one of;
storing a new search request submitted by a different user in the search table of the buyer/seller/item search index, storing a change to one of the previously stored search requests submitted by the different user in the search table of the buyer/seller/item search request, a specified time period has elapsed, receipt of an update request from the user for the stored search request, a change to the search table, the user table, the category table or the attribute table of the buyer/seller/item search index that would change the result of the search, and deleting a previously stored search request by the different user in the search table of the buyer/seller/item search index;(g) whenever the trigger event is detected, automatically search the search table of the buyer/seller/item search index for any stored search results that match the requested category and the requested attributes, and determine a new result of the search; (h) comparing the new result with the result and only when the new result differs from the result, automatically send an updated search response comprising the new result of the search; (i) determining a numerical relevancy score for each found stored search request; wherein the numerical relevancy score for each found stored result is determined by summing the numerical relevancy scores for each requested attribute in the search request divided by the number of requested attributes in the search request; wherein the numerical relevancy score for each requested attribute comprises a first numerical value whenever the requested attribute is not specified in the stored search request, a second numerical value whenever the requested attribute matches the attribute of the stored search request and the requested attribute is Must Have, a third numerical value whenever the requested attribute that matches the attribute of the stored search request and the requested attribute is not Must Have, a fourth numerical value whenever the requested attribute that does not match the attribute of the stored search request and the requested attribute is Must Have, a fifth numerical value whenever the requested attribute does not match the attribute of the stored search request and the requested attribute is not Must Have, and wherein;
(a) the first numerical value, the second numerical value, the third numerical value, the fourth numerical value and the fifth numerical value comprise at least four different values within a range from a minimum numerical value to a maximum numerical value, (b) the second numerical value is equal to the maximum numerical value, (c) the fourth numerical value is equal to the minimum numerical value, and (d) the first numerical value and the third numerical value are each greater than the minimum numerical value and less than the maximum numerical value. - View Dependent Claims (45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86)
-
-
87. A system for electronically searching for an item comprising:
-
a network; a buyer/seller/item search index communicably coupled to the network, the buyer/seller/item search index comprising a search table within a relational database, a user table linked to the search table, a category table linked to the search table, and an attribute table linked to the category table, wherein the search table contains a plurality of distinct and previously stored search requests from one or more buyers or one or more sellers or a combination thereof and a set of predefined categories, wherein each predefined category in the category table is defined by a taxonomy of attributes comprising a set of predefined attributes, wherein each predefined attribute in the attribute table is defined by at least one question and one or more answers to each question; one or more user devices communicably coupled to the network; a user interface executable by the user device communicably coupled to the network that causes the user device to enter a search request from a user and receive a search response, wherein the search request comprises a requested category for the item selected from the set of predefined item categories, and one or more requested attributes of the item selected from the set of predefined attributes by providing at least one of the answers to at least one of the questions defining the requested attribute of the item; and a search engine executable by a processor communicably coupled to the user device and the buyer/seller/item search index via the network wherein the search engine causes the processor to; (a) receive the search request for the item; (b) store the search request for the item in the buyer/seller/item search index based on the requested category for the item and the requested attribute(s) for the item by storing the search request in the search table, storing information regarding the user in the user table, storing the requested category in the category table, and storing the one or more requested attributes in the attribute table; (c) search the search table of the buyer/seller/item search index for any previously stored search requests from other buyers or sellers that match the requested category and the requested attribute(s); (d) determine the result of the search; (e) send the result of the search; (f) persistently search the buyer/seller/item search index for the item by monitoring the buyer/seller/item search index for a trigger event until the search request is terminated, the trigger event comprising at least one of;
storing a new search request submitted by a different user in the search table of the buyer/seller/item search index, storing a change to one of the previously stored search requests submitted by the different user in the search table of the buyer/seller/item search request, a specified time period has elapsed, receipt of an update request from the user for the stored search request, a change to the search table, the user table, the category table or the attribute table of the buyer/seller/item search index that would change the result of the search, and deleting a previously stored search request by the different user in the search table of the buyer/seller/item search index;(g) whenever the trigger event is detected, automatically search the search table of the buyer/seller/item search index for any stored search results that match the requested category and the requested attributes, and determine a new result of the search; (h) comparing the new result with the result and only when the new result differs from the result, automatically send an updated search response comprising the new result of the search; (i) determine a numerical relevancy score for each found stored search request; wherein determining the numerical relevancy score for each found stored result comprises summing the numerical relevancy scores for each requested attribute in the search request divided by the number of requested attributes in the search request; wherein the numerical relevancy score for each requested attribute comprises a first numerical value whenever the requested attribute is not specified in the stored search request, a second numerical value whenever the requested attribute matches the attribute of the stored search request and the requested attribute is Must Have, a third numerical value whenever the requested attribute that matches the attribute of the stored search request and the requested attribute is not Must Have, a fourth numerical value whenever the requested attribute that does not match the attribute of the stored search request and the requested attribute is Must Have, a fifth numerical value whenever the requested attribute does not match the attribute of the stored search request and the requested attribute is not Must Have, and wherein;
(a) the first numerical value, the second numerical value, the third numerical value, the fourth numerical value and the fifth numerical value comprise at least four different values within a range from a minimum numerical value to a maximum numerical value, (b) the second numerical value is equal to the maximum numerical value, (c) the fourth numerical value is equal to the minimum numerical value, and (d) the first numerical value and the third numerical value are each greater than the minimum numerical value and less than the maximum numerical value. - View Dependent Claims (88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129)
-
Specification