Commodity search method and device, server and storage medium

By assigning products to multiple buckets based on their features, the problem of product clustering and recall in online shopping is solved, and a user-friendly search result display is achieved.

CN115757931BActive Publication Date: 2026-07-14BEIJING ZHUANZHUAN SPIRIT TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING ZHUANZHUAN SPIRIT TECH CO LTD
Filing Date
2021-09-14
Publication Date
2026-07-14

Smart Images

  • Figure CN115757931B_ABST
    Figure CN115757931B_ABST
Patent Text Reader

Abstract

The application discloses a commodity search method and device, a server and a storage medium. The commodity search method comprises the following steps: receiving a search request of a user, wherein the search request comprises a search word; in response to the search request, acquiring bucket identification information of the user; acquiring at least one group of buckets matched with the search word from a plurality of groups of buckets pre-assigned with commodities, wherein the feature information of the commodities in the same group of buckets in the plurality of groups of buckets is consistent, and the feature information of the commodities in any two groups of buckets in the plurality of groups of buckets is inconsistent; acquiring a target bucket corresponding to the bucket identification information in each group of buckets in the at least one group of buckets; and returning a commodity search result to the user according to the commodities in the target bucket. The method disclosed by the application can display part of the commodities matched with the search word to the user when recalling the commodities, thereby avoiding the situation that the matched commodities are recalled in a cluster. In this way, the user can conveniently select the commodities, and the user experience is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of computer technology, and in particular relates to a product search method, apparatus, server and storage medium. Background Technology

[0002] With the popularization of the Internet and the rapid development of e-commerce, e-commerce has an increasingly important role in people's lives. The most prominent aspect is online shopping, which includes not only buying new goods but also buying second-hand goods.

[0003] When users shop online, they can search for products they are interested in using search terms. After the user enters their search terms, the system retrieves products from its database that match those terms. In some cases, most of the retrieved products share similar characteristics. This leads to a situation where products with identical features are retrieved in clusters, making it inconvenient for users to choose products and resulting in a poor user experience. Summary of the Invention

[0004] This application provides a product search method, apparatus, server, and storage medium to address the technical problem of product overload causing inconvenience for users in selecting products.

[0005] On the one hand, embodiments of this application provide a product search method, including:

[0006] Receive a user's search request, the search request including search terms;

[0007] In response to the search request, obtain the user's bucket identifier information;

[0008] Obtain at least one bucket that matches the search term from multiple buckets with pre-assigned goods, wherein the characteristic information of goods in the same bucket is consistent, and the characteristic information of goods in any two buckets is inconsistent.

[0009] In each of the at least one group of buckets, obtain the target bucket corresponding to the bucket identification information;

[0010] Based on the items in the target bucket, return the product search results to the user.

[0011] On the other hand, embodiments of this application provide a product search device, including:

[0012] A receiving module is used to receive a user's search request, wherein the search request includes search terms;

[0013] The first acquisition module is used to acquire the user's bucket identifier information in response to the search request;

[0014] The second acquisition module is used to acquire at least one group of buckets that match the search term from multiple groups of buckets that have been pre-allocated with goods, wherein the feature information of goods in the same group of buckets is consistent, and the feature information of goods in any two groups of buckets is inconsistent.

[0015] The third acquisition module is used to acquire the target bucket corresponding to the bucket identification information in each of the at least one group of buckets;

[0016] The return module is used to return product search results to the user based on the products in the target bucket.

[0017] In another aspect, embodiments of this application provide a server, the server comprising: a processor and a memory storing computer program instructions;

[0018] When the processor executes the computer program instructions, it implements the product search method provided in the first aspect.

[0019] In another aspect, embodiments of this application provide a computer storage medium storing computer program instructions, which, when executed by a processor, implement the product search method provided in the first aspect.

[0020] The product search method, apparatus, server, and storage medium of this application embodiment first receive a user's search request; second, obtain the user's bucket identifier information; and third, obtain at least one bucket matching the search term from multiple buckets pre-assigned with products. Then, obtain the target bucket corresponding to the bucket identifier information from each of the at least one bucket group. Based on the products in the target buckets, return the product search results to the user. Specifically, products within the same bucket group have consistent feature information; that is, products with consistent feature information are assigned to multiple buckets within the same group. This way, when recalling products, only those with consistent feature information are recalled, avoiding the situation where products with consistent feature information are recalled in clusters. This facilitates product selection for users and improves the user experience. Attached Figure Description

[0021] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the embodiments of this application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0022] Figure 1 A schematic diagram of an embodiment of the product search system provided in this application is shown.

[0023] Figure 2A flowchart illustrating an embodiment of the product search method provided in this application is shown.

[0024] Figure 3 A flowchart illustrating an embodiment of the commodity binning provided in this application is shown.

[0025] Figure 4 A flowchart illustrating another embodiment of the product search method provided in this application is shown.

[0026] Figure 5 A schematic diagram illustrating the principle of product search methods in related technologies is shown.

[0027] Figure 6 A schematic diagram illustrating the principle of the product search method provided in this application is shown.

[0028] Figure 7 A schematic diagram illustrating one embodiment of the feature information of the goods provided in this application is shown.

[0029] Figure 8 A schematic diagram illustrating another embodiment of the feature information of the goods provided in this application is shown.

[0030] Figure 9 A schematic diagram of one embodiment of a product search device provided in this application is shown.

[0031] Figure 10 A schematic diagram of the hardware structure of an embodiment of the server provided in this application is shown. Detailed Implementation

[0032] The features and exemplary embodiments of various aspects of this application will be described in detail below. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain this application and not to limit it. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples.

[0033] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes said element.

[0034] In product search solutions using relevant technologies, upon receiving a user's search term, the system typically recalls all products matching the search term from the product database, sorts the recalled products, and returns the search results to the user. However, in some cases, many of the recalled products are not significantly different, resulting in a clustering of similar-quality products being recalled.

[0035] For example, when a user searches for a product of interest on a secondhand trading platform, because many sellers on the platform offer the same item, the platform displays many identical or very similar products after receiving the user's search terms. This results in a clustering of similar quality items, making it difficult for the user to choose from among numerous comparable products, leading to a poor user experience.

[0036] To address the technical problem of inconvenience for users in selecting products due to excessive product recalls, embodiments of this application provide a product search method, apparatus, server, and storage medium. The product search system provided in this application is described first, and this product search system is used to implement the product search method.

[0037] Figure 1 A schematic diagram of an embodiment of the product search system provided in this application is shown. Figure 1 As shown, the product search system includes an electronic device 102 and a server 104. The electronic device 102 may include at least one of the following: a smartphone, tablet computer, laptop computer, desktop computer, smart TV, etc. The electronic device 102 may have a client application with shopping functionality installed; this client application may be for purchasing new products or for purchasing used products.

[0038] Users can operate on electronic device 102 to open the shopping interface. For example, users can open the client installed on electronic device 102 and open the shopping interface through the client, or users can open the browser installed on electronic device 102 and open the shopping interface through the browser. After opening the shopping interface, users can enter search terms through the shopping interface.

[0039] After receiving the user's search terms, electronic device 102 sends a search request, including the search terms, to server 104. Upon receiving the search request, server 104 retrieves products from its product database based on the search terms, sorts the retrieved products, obtains search results, and returns the search results to electronic device 102. Electronic device 102 then displays the search results. In this way, the user can purchase products of interest based on the search results displayed by electronic device 102.

[0040] In this process, products with identical feature information are pre-assigned to multiple buckets within the same group, while products with inconsistent feature information are assigned to buckets in different groups. When recalling products, server 104 first retrieves at least one group of buckets that match the search term from among the multiple groups. For each of these groups, it retrieves the target bucket corresponding to the bucket identifier information to recall the products in that target bucket. This way, instead of recalling all products with identical feature information, only a subset of products with identical feature information is recalled, avoiding the situation where products with identical feature information are recalled in clusters. This makes it easier for users to select products and improves the user experience.

[0041] Based on the above, the product search method provided in this application will be described below. This product search method can be applied to server 104 in the aforementioned product search system.

[0042] Figure 2 A flowchart illustrating an embodiment of the product search method provided in this application is shown. Figure 2 As shown, product search methods include:

[0043] S202, Receive the user's search request, which includes search terms;

[0044] S204, in response to the search request, obtain the user's bucket identifier information.

[0045] In this system, products with identical characteristics are pre-assigned to multiple buckets within the same group, while products with inconsistent characteristics are pre-assigned to buckets in different groups. Each bucket has its own bucket identifier. The bucket identifier can include at least one of the following: numbers, characters, and text. For example, products with identical characteristics are pre-assigned to N buckets, where N is an integer greater than 1, and the bucket identifiers for the N buckets are numbers from 1 to N.

[0046] Product characteristics may include, but are not limited to, at least one of the following: business line information, model, attributes, and price. For example, if the product is a mobile phone, the business line information could be "regular business," the model could be "iPhone XR," "iPhone 11," or "iPhone 12," and the attributes could include, but are not limited to, at least one of the following: condition, capacity, version, network, and color. Products with the same business line information, model, attributes, and price can be referred to as products of the same stockkeeping unit (SKU), or products of the same quality, sometimes simply called homogeneous products.

[0047] For example, a mobile phone with a business line of ordinary business, model number of iPhone XR, condition of 90% new, capacity of 128G, version of Chinese mainland, network of 4G, and color of black, is considered a product with the same SKU in the product database. These products with the same SKU will be pre-assigned to multiple buckets in the same group, where a product can be assigned to at least one bucket.

[0048] Product search methods also include:

[0049] S206, obtain at least one bucket that matches the search term from multiple buckets with pre-allocated goods, wherein the feature information of goods in the same bucket is consistent, and the feature information of goods in any two buckets is inconsistent.

[0050] S208, in each of at least one group of buckets, obtain the target bucket corresponding to the bucket identification information.

[0051] Assuming the product's characteristics include model number and condition, when sorting the products into bins, products with the model number iPhone X and 90% new are assigned to the first group of 10 bins, numbered 1 to 10; products with the model number iPhone X and 80% new are assigned to the second group of 10 bins, also numbered 1 to 10; and products with the model number iPhone XR and 90% new are assigned to the third group of 10 new bins, also numbered 1 to 10.

[0052] If the user enters the search term "iphone x" and the user's bucket identifier information is 2, then the first group of buckets and the second group of buckets with the assigned products match the user's search term. In this case, the target bucket with bucket identifier information 2 is obtained from the 10 buckets in the first group and the 10 buckets in the second group, respectively.

[0053] Product search methods also include:

[0054] S210: Return product search results to the user based on the products in the target bucket.

[0055] As an example, S210 may include: sorting the items in the target bucket and determining the product search results based on the sorting results; and returning the product search results to the user.

[0056] Specifically, returning product search results to the user may include sending the product search results to an electronic device so that the electronic device can display the product search results. The electronic device may be the electronic device 102 in the product search system mentioned above.

[0057] In this embodiment, products with identical feature information are pre-assigned to multiple bins within the same group. During product search, products in the target bin corresponding to the bin identifier information within the same group are recalled, thereby recalling a subset of products with identical feature information and avoiding the clustering of such products. This makes it easier for users to select products and improves the user experience.

[0058] In one or more embodiments of this application, prior to S202, the product search method may further include:

[0059] When updating any product in the product library, obtain the quantity of the second product in the product library, where the second product is a product with the same feature information as the first product;

[0060] Based on the quantity of goods, determine the number of buckets g corresponding to the first good, where g is a positive integer;

[0061] The first item is distributed into g buckets in the same group.

[0062] Updating any product in the product database includes: modifying the feature information of existing products in the product database; and adding new products to the product database.

[0063] For example, consider a mobile phone. Its features include model number and condition. A new mobile phone, model iPhone XR, is added to the secondhand platform's product database. The database is then queried to determine the number of iPhone XR phones in the database that are 90% new. Based on this number, the number of buckets (g) the newly added phone should be assigned to is determined. Finally, the newly added phone is assigned to the g buckets within the corresponding bucket group.

[0064] In this embodiment, products with consistent feature information in the product library are pre-assigned to corresponding bucket groups. During a product search, products from a specific bucket within the same bucket group are recalled. This avoids the situation where matching products are recalled in clusters.

[0065] As an example, before assigning products to buckets, the total number N of buckets to which products with consistent characteristics are assigned is determined. This total number N can be based on the number of products with consistent characteristics in the product library and a pre-configured maximum number of products in each bucket (e.g., 50 products per bucket). This avoids having too many products in each bucket, thus preventing the recall of too many products from a single bucket and further preventing the clustering of recalled products.

[0066] In one or more embodiments of this application, the number of buckets g to which the first commodity is allocated is determined based on the quantity of the commodity, which may specifically include the following various cases:

[0067] Scenario 1:

[0068] If the quantity of the second product in the product library is 1, and the second product in the product library is the first product updated above, that is, if there is only one product in the product library that has the same feature information as the first product, and that product is the first product, then the number of buckets g is determined to be the total number of buckets.

[0069] Scenario 2:

[0070] Under the premise of meeting preset conditions, calculate the difference between the total number of buckets and the number of goods, and take the maximum value between the difference and 1 to determine the number of buckets g. The preset conditions include one of the following:

[0071] • The quantity of the second item in the product inventory is greater than 1;

[0072] • The quantity of the second product in the product library is 1, and the second product in the product library is not the first product updated above.

[0073] In this embodiment of the application, if there is only one product in the product library that has the same feature information as the first product, and that product is the first product, the number of buckets g is determined to be the total number of buckets. In this way, the first product needs to be allocated to each bucket to avoid empty buckets and to increase the recall traffic and exposure opportunities of the first product.

[0074] In one or more embodiments of this application, obtaining the quantity of a second product in the product library may include:

[0075] Obtain the feature information of the first product;

[0076] Based on the characteristic information of the first commodity, generate commodity characteristic identification information for the first commodity;

[0077] Query the quantity of products in the product database that correspond to the product feature identification information. The quantity retrieved is the quantity of the second product.

[0078] Among them, the product feature identification information is used to identify the feature information of the product, and the product feature identification information can be at least one of characters, text, and numbers.

[0079] If multiple products share the same characteristic information, then their product feature identification information will also be consistent. For example, the feature identification information for a product in the product database with a business line of "normal business" and the model name "iPhone XR" can all be SKU1, while the feature identification information for a product in the product database with a business line of "normal business" and the model name "iPhone 11" can all be SKU2.

[0080] In this embodiment, when selecting the first product, product feature identification information is generated for it. Thus, each product in the product database has corresponding product feature identification information. Consequently, the number of products in the product database with feature information matching that of the first product can be retrieved based on the product feature identification information.

[0081] In one or more embodiments of this application, before distributing the first product into g buckets of a plurality of buckets, the product search method may further include:

[0082] Randomly select g buckets from a set of buckets.

[0083] By randomly selecting g buckets, products can be randomly distributed among them. In this way, if there are enough products in the product library, statistically, products with the same or similar characteristics can be recalled with the same or similar probability.

[0084] Based on the above, the following will be conducted... Figure 3 Further explanation of the product packaging method.

[0085] Figure 3 A flowchart illustrating an embodiment of the product binning provided in this application is shown. Product binning is performed before S202. Figure 3 As shown, the process of separating goods into different bins specifically includes:

[0086] S302, while updating the first product, obtain the feature information of the first product;

[0087] S304, Based on the feature information of the first product, generate the product feature identifier information sku_id of the first product, for example, the product feature identifier information of the first product is sku1 or sku2;

[0088] S306, query the number s of products with sku_id in the product database. For example, if the product feature identifier of the first product is sku1, then query the number s of products with sku1 in the product database.

[0089] S308, determine whether the product with sku_id in the product library is the first product and whether s is equal to 1. If the result is yes, execute S310; if the result is no, execute S312.

[0090] S310, reassign the value to s, and s = 0;

[0091] S312, based on s, determine the number of barrels g corresponding to the first product. Specifically, the number of barrels g can be calculated using the following formula (1):

[0092] g = max(Ns, 1) (1)

[0093] Where N represents the total number of buckets in a group, which consists of buckets containing goods with the same characteristic information as the first commodity, and N is an integer greater than 1;

[0094] S314, randomly select g buckets from N buckets, and the bucket numbers of the g buckets are product_buckets_list;

[0095] S316, write sku_id and product_buckets_list into the product information of the search engine, and assign the first product to g randomly selected buckets, thus completing the bucketing of the first product.

[0096] In one or more embodiments of this application, obtaining the user's bucket identifier information may specifically include:

[0097] Retrieve bucket identifier information from the cache;

[0098] If the bucket identifier information is not present in the cache, one of the bucket identifier information from multiple bucket identifier information will be used as the bucket identifier information.

[0099] As an example, using one of the identifiers from multiple buckets as the bucket identifier can specifically include: randomly selecting an identifier from the multiple bucket identifiers and determining that randomly selected identifier as the user's bucket identifier.

[0100] As another example, one of the identification information from multiple buckets can be used as the bucket identification information. Specifically, this can include: selecting one identification information from multiple bucket identification information according to preset rules, and determining the selected identification information as the user's bucket identification information.

[0101] For example, the preset rule could be: when determining the bucket identifier information of the above user for the first time, select the identifier information of the first bucket as the bucket identifier information of the above user; when determining the bucket identifier information of the above user for the second time, select the identifier information of the second bucket as the bucket identifier information of the above user, and so on.

[0102] Based on the above embodiments, the following is a summary: Figure 4 Another embodiment of the product search method provided in this application will be described.

[0103] Figure 4 A flowchart illustrating another embodiment of the product search method provided in this application is shown. Figure 4 As shown, product search methods include:

[0104] S402, Receive a user's search request, wherein the search request includes search terms;

[0105] S404, check if there is user bucket identifier information user_bucket in the cache. If the result is yes, execute S408. If the result is no, execute S406.

[0106] S406, randomly select one bucket identifier from N bucket identifiers as the user's bucket identifier user_bucket;

[0107] S408, obtain at least one bucket that matches the search term from multiple buckets with pre-allocated goods, wherein the feature information of goods in the same bucket is consistent, and the feature information of goods in any two buckets is inconsistent.

[0108] S410, in each of at least one set of buckets, obtain the target bucket corresponding to the user's bucket identifier information user_bucket;

[0109] S412, based on the items in the target bucket, return the product search results to the user.

[0110] In one or more embodiments of this application, after using one of the identification information of multiple buckets as the bucket identification information, the product search method may further include:

[0111] Store the bucket identification information in the cache;

[0112] And if the bucket identifier information reaches the preset storage period, delete the bucket identifier information stored in the cache.

[0113] The preset storage period can be flexibly configured according to actual needs.

[0114] In this embodiment, expired user bucket identifier information stored in the cache is deleted. As a result, the user's bucket identifier information changes every once in a while, so the search results obtained by the user using the same search term at different times will be different.

[0115] The following is through Figure 5 and Figure 6 The embodiments of this application will be further described below. It should be noted that, in... Figure 5 and Figure 6 In this context, sku1 item1, sku1 item2, sku1 item3, etc., represent identifiers of homogeneous goods (items) with characteristic information sku1; sku2 item1, sku2 item2, etc., represent identifiers of homogeneous goods with characteristic information sku2; sku3 item1, sku3item2, etc., represent identifiers of homogeneous goods with characteristic information sku3, and so on.

[0116] If products are retrieved from the product database using the methods described in the relevant technologies—that is, all products in the product database that match the search term—then the retrieval results would be as follows: Figure 5 As shown. From Figure 5 It can be seen that products with the same characteristic information are recalled in clusters. For example, out of a total of 3500 products recalled, 1000 are homogeneous products with characteristic information SKU1, 500 are homogeneous products with characteristic information SKU2, and 700 are homogeneous products with characteristic information SKU3 (the rest are not shown). After sorting the recalled products, 500 products are obtained. The first 498 of these are homogeneous products with characteristic information SKU1, only the last two (the 499th and 500th) are homogeneous products with characteristic information SKU2, and the number of products with SKU3, etc., is 0. This shows... Figure 5 The processing method in the embodiment actually resulted in a clustered recall problem for homogeneous products with characteristic information SKU1.

[0117] If products are recalled from the product database according to the method described in this application, that is, products with consistent feature information are allocated to multiple bins, and products with the same feature information are recalled from a specific bin, the recall result is as follows: Figure 6 As shown. Figure 5 and Figure 6 A comparison shows that Figure 6 The number of products with the same characteristics recalled in China is higher than the number of products recalled in China. Figure 5 The number of products with this characteristic information recalled in the middle is small. For example, even if a total of 3,500 products are recalled, Figure 5 In the recall, the number of products with the characteristic information SKU1 was 1000, while Figure 6 In the initial recall, the number of products with characteristic information SKU1 was reduced to 100, the number of similar products with characteristic information SKU2 was reduced to 45, the number of similar products with characteristic information SKU3 was reduced to 55, and the number of similar products with characteristic information SKU4 was 15 (the rest are not shown). Subsequently, after sorting the recalled products, 500 products were obtained. The first 98 products were similar products with characteristic information SKU1, followed by 45 similar products with characteristic information SKU2, 52 similar products with characteristic information SKU3, and 6 similar products with characteristic information SKU4 (the rest are not shown). It can be seen that... Figure 6 The embodiments are processed in accordance with the manner provided in the embodiments of this application, which to a certain extent makes the number of recalls of homogeneous products with the same characteristic information more dispersed, and can avoid the phenomenon of recalling products of the same quality in clusters.

[0118] The following is combined with Figure 7 and Figure 8 right Figure 6 The recall of the products will be explained.

[0119] As an example, suppose the product's characteristics include: business line, model, condition, capacity, version, network, and color, such as Figure 7 As shown, recalled products may have the following characteristics:

[0120] ·Item 1 of SKU1: Standard service, iPhone XR, 90% new, 128GB, Chinese version, 4G, black, 2538 yuan;

[0121] ·Item 8 of SKU2: Standard service, iPhone XR, 90% new, 128GB, Chinese version, 4G, white, 2538 yuan;

[0122] ·Item 9 of SKU3: Standard service, iPhone XR, 80% new, 128GB, Chinese version, 4G, white, 2333 yuan;

[0123] ·Item 10 of SKU4: Regular service, iPhone 12, 90% new, 128GB, Chinese version, 5G, black, 5021 yuan.

[0124] The above only describes a portion of the recalled products. Figure 6 The product feature information of SKU1 item3, SKU1 item7...SKU1 item682 is consistent with the product feature information of SKU1 item1 mentioned above. Figure 6 The product feature information of sku2item12…sku2 item375 is consistent with the product feature information of sku2item8 mentioned above. Figure 6 The product feature information of SKU3 item5...SKU3 item630 is consistent with the product feature information of SKU3 item9 mentioned above. Figure 6 The product feature information of sku4 item4…sku4item132 is consistent with the product feature information of sku4 item10 mentioned above, and will not be repeated here.

[0125] It should be noted that the four products mentioned above were recalled from different groups of bins; therefore, the characteristic information of the four products is inconsistent. Since the characteristic information does not include price, there is no constraint on whether the prices are the same across different groups. Figure 7 As shown, the prices of any two items can be the same or different. For example, the price of SKU1 item1 and SKU2 item8 can both be 2538 yuan, the price of SKU3 item9 can be 2333 yuan, and the price of SKU4 item10 can be 5021 yuan.

[0126] As another example, suppose the product characteristics in the product database include business lines and models, such as... Figure 8 As shown, recalled products may have the following characteristics:

[0127] ·Item 1 of SKU1: Regular service, iPhone XR

[0128] ·Item 8 of SKU2: Specialized services, iPhone XR

[0129] ·Item 9 of SKU3: Regular business, iPhone X

[0130] ·Item 11 of SKU4: Specialized services, iPhone X

[0131] in, Figure 8Only two characteristics of the product are shown: business line and model number. Figure 8 The four items shown can also have other information. For example, SKU1 item1 can also include information such as 90% new, 128GB, Chinese version, 4G, black, and priced at 2888 yuan; SKU2 item8 can also include information such as 90% new, 128GB, Chinese version, 4G, black, and priced at 2888 yuan; SKU3 item9 can also include information such as 80% new, 128GB, Chinese version, 4G, black, and priced at 4100 yuan; and SKU4 item11 can also include information such as 90% new, 128GB, Chinese version, 5G, black, and priced at 5021 yuan.

[0132] Corresponding to the product search method provided in this application, this application also provides a product search device. Figure 9 A schematic diagram of one embodiment of a product search device provided in this application is shown. Figure 9 As shown, the product search device 500 includes:

[0133] The receiving module 502 is used to receive a user's search request, which includes search terms;

[0134] The first acquisition module 504 is used to acquire the user's bucket identifier information in response to a search request;

[0135] The second acquisition module 506 is used to acquire at least one group of buckets that match the search term from multiple groups of buckets that have been pre-allocated with goods, wherein the feature information of goods in the same group of buckets is consistent, and the feature information of goods in any two groups of buckets is inconsistent.

[0136] The third acquisition module 508 is used to acquire the target bucket corresponding to the bucket identification information in each of the at least one group of buckets;

[0137] The return module 510 is used to return product search results to the user based on the products in the target bucket.

[0138] In this embodiment, when searching for products, a subset of products matching the search terms are recalled, and some of these products are displayed to the user, avoiding a situation where matching products are recalled in clusters. This makes it easier for users to select products and improves the user experience.

[0139] In one or more embodiments of this application, the product search device 500 may further include:

[0140] The third acquisition module is used to acquire the quantity of the second product in the product library when any product in the product library is updated, wherein the second product is a product with the same feature information as the first product.

[0141] The determination module is used to determine the number of buckets g corresponding to the first product based on the quantity of the product; g is a positive integer.

[0142] The allocation module is used to allocate the first product to g buckets out of multiple buckets.

[0143] In one or more embodiments of this application, the determining module may include:

[0144] The first determining unit is used to determine the number of buckets g as the total number of buckets when the quantity of goods is 1 and the second goods are the first goods;

[0145] The calculation unit is used to calculate the difference between the total number of buckets and the number of goods, under the condition that preset conditions are met;

[0146] The second determining unit is used to determine the number of buckets g by taking the difference and the maximum value in 1.

[0147] The preset conditions include at least one of the following:

[0148] • The quantity of the second item in the product inventory is greater than 1;

[0149] • The quantity of the second product in the product library is 1, and the second product in the product library is not the first product updated above.

[0150] In one or more embodiments of this application, the third acquisition module may include:

[0151] The acquisition unit is used to acquire the feature information of the first product;

[0152] The generation unit is used to generate product feature identification information of the first product based on the feature information of the first product;

[0153] The query unit is used to query the quantity of products in the product database that correspond to the product feature identification information. The quantity retrieved is the total number of products.

[0154] In one or more embodiments of this application, the product search device 500 may further include:

[0155] The selection module is used to randomly select g buckets from multiple buckets.

[0156] In one or more embodiments of this application, the first acquisition module 504 is used to:

[0157] Retrieve bucket identifier information from the cache;

[0158] If the bucket identifier information is not present in the cache, one of the bucket identifier information from multiple bucket identifier information will be used as the bucket identifier information.

[0159] In one or more embodiments of this application, the product search device 500 may further include:

[0160] The storage module is used to store bucket identification information in the cache;

[0161] The deletion module is used to delete the bucket identifier information stored in the cache when the bucket identifier information reaches the preset storage period.

[0162] This application also provides a server, which includes: a processor and a memory storing computer program instructions; when the processor executes the computer program instructions, it implements the product search method of any of the above embodiments.

[0163] Figure 10 A schematic diagram of the hardware structure of an embodiment of the server provided in this application is shown.

[0164] like Figure 10 As shown, the server may include a processor 601 and a memory 602 storing computer program instructions.

[0165] Specifically, the processor 601 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.

[0166] Memory 602 may include mass storage for data or instructions. For example, and not limitingly, memory 602 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 602 may include removable or non-removable (or fixed) media. Where appropriate, memory 602 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 602 is non-volatile solid-state memory.

[0167] Memory may include read-only memory (ROM), random access memory (RAM), disk storage media devices, optical storage media devices, flash memory devices, and electrical, optical, or other physical / tangible memory storage devices. Therefore, typically, memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the methods according to one aspect of this disclosure.

[0168] The processor 601 implements any of the product search methods described in the above embodiments by reading and executing computer program instructions stored in the memory 602.

[0169] In one example, the server may also include a communication interface 603 and a bus 610. Wherein, as... Figure 10 As shown, the processor 601, memory 602, and communication interface 603 are connected through bus 610 and complete communication with each other.

[0170] The communication interface 603 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.

[0171] Bus 610 includes hardware, software, or both, that couples components of an online data traffic metering device together. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 610 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, any suitable bus or interconnect is contemplated herein.

[0172] Furthermore, in conjunction with the product search methods in the above embodiments, this application embodiment can provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when these computer program instructions are executed by a processor, they implement any of the product search methods in the above embodiments.

[0173] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.

[0174] The functional blocks shown in the above-described structural diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried in a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Machine-readable media can include non-transitory computer-readable storage media, such as electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, and can also include radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.

[0175] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.

[0176] The aspects of this disclosure have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that these instructions, executable via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It is also understood that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by special-purpose hardware performing the specified functions or actions, or can be implemented by a combination of special-purpose hardware and computer instructions.

[0177] The above description is merely a specific implementation of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.

Claims

1. A product search method, characterized in that, include: When updating any first product in the product library, obtain the quantity of the second product in the product library, wherein the second product is a product with the same feature information as the first product; Based on the quantity of the goods, determine the number of buckets g corresponding to the first goods, where g is a positive integer; The first product is distributed into g buckets in the same group; Receive a user's search request, the search request including search terms; In response to the search request, obtain the user's bucket identifier information; Obtain at least one bucket that matches the search term from multiple buckets with pre-assigned goods, wherein the characteristic information of goods in the same bucket is consistent, and the characteristic information of goods in any two buckets is inconsistent. In each of the at least one group of buckets, obtain the target bucket corresponding to the bucket identification information; Based on the items in the target bucket, return the product search results to the user; Determining the number of barrels (g) corresponding to the first product based on the quantity of the product includes: When the quantity of the product is 1 and the second product is the first product, the number of buckets g is determined to be the total number of buckets. Under the condition of meeting the preset conditions, calculate the difference between the total number of buckets and the number of goods, and take the maximum value between the difference and 1 to determine the number of buckets g; The preset conditions include one of the following: The quantity of the goods is greater than 1; The quantity of the product is 1, and the second product is not the first product.

2. The method according to claim 1, characterized in that, Obtaining the quantity of the second product in the product library includes: Obtain the feature information of the first product; Based on the feature information of the first product, generate product feature identification information for the first product; Query the quantity of products in the product database that correspond to the product feature identification information, wherein the quantity retrieved is the quantity of the product.

3. The method according to claim 1, characterized in that, Before distributing the first product into g of the plurality of bins, the method further includes: Randomly select g buckets from the plurality of buckets.

4. The method according to claim 1, characterized in that, Obtaining the user's bucket identifier information includes: Retrieve the bucket identifier information from the cache; If the bucket identifier information is not present in the cache, one of the bucket identifier information is determined as the bucket identifier information.

5. The method according to claim 4, characterized in that, After using one of the identification information of the plurality of buckets as the bucket identification information, the method further includes: Store the bucket identification information in the cache; And if the bucket identifier information reaches a preset storage period, delete the bucket identifier information stored in the cache.

6. A product search device, characterized in that, include: A receiving module is used to receive a user's search request, wherein the search request includes search terms; The first acquisition module is used to acquire the user's bucket identifier information in response to the search request; The second acquisition module is used to acquire at least one group of buckets that match the search term from multiple groups of buckets that have been pre-allocated with goods, wherein the feature information of goods in the same group of buckets is consistent, and the feature information of goods in any two groups of buckets is inconsistent. The third acquisition module is used to acquire the target bucket corresponding to the bucket identification information in each of the at least one group of buckets; The return module is used to return product search results to the user based on the products in the target bucket; The third acquisition module is configured to acquire the quantity of a second product in the product library when any product in the product library is updated, wherein the second product is a product with the same feature information as the first product. The determination module is used to determine the number of buckets g corresponding to the first product based on the quantity of the product; g is a positive integer. The allocation module is used to allocate the first product to g buckets out of a plurality of buckets; The determining module includes: The first determining unit is used to determine the number of buckets g as the total number of buckets when the quantity of goods is 1 and the second goods are the first goods; The calculation unit is used to calculate the difference between the total number of buckets and the number of goods, under the condition that preset conditions are met; The second determining unit is used to take the maximum value of the difference and 1 to determine the number of buckets g; The preset conditions include at least one of the following: The quantity of the second item in the product inventory is greater than 1; The quantity of the second product in the product library is 1, and the second product in the product library is not the first product updated above.

7. A server, characterized in that, The server includes: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, it implements the product search method as described in any one of claims 1-5.

8. A computer storage medium, characterized in that, The computer storage medium stores computer program instructions, which, when executed by a processor, implement the product search method as described in any one of claims 1-5.