Electronic commerce (EC) refers to a new business model that has become a part of worldwide commercial trading activities. According to this model, buyers and sellers, based on network communication technologies, can engage in various commercial activities in open Internet network environments and carry out online transactions such as purchases and payments, as well as various other business activities. E-commerce is broad in scope and can generally be divided into Business-to-Business (B2B), Business-to-Consumer (B2C), and Consumer-to-Consumer (C2C) models.
To improve the shopping experience of users when using e-commerce websites (also referred to as shopping websites), many shopping websites provide a user bookmark feature. When browsing a shopping website, users click on “Bookmark” (perform a bookmark-related action) on merchandise or shop pages. Information on products and online shops that they like are added to their own bookmark folder and stored on the server. Later, users may use their own bookmark folders for routine viewing, tracking, or purchasing of the products or shops that they like. Over time, each user's bookmark folder generally will contain a certain amount of product or shop information. Some active users may accumulate hundreds, even thousands of bookmarks for products or shops. Thus, in the case of large shopping websites, user bookmark folders are applications involving vast quantities of data. To make full use of the user bookmark folder, the system, in addition to adding, deleting, and updating user bookmark data, needs also to provide the user with a quick and effective method of finding the bookmark data that the user currently needs.
In some existing systems, user bookmark data is kept in a bookmark table. The bookmark table records the following: user ID, bookmark type (such as product or shop), name of bookmark content (such as product name or shop name), time bookmark added, and other basic information. Each time the user executes a bookmark-related action (e.g., clicking on an “Add Bookmark” button), data corresponding to a bookmark object is generated in the table. For example, after User A clicks “Bookmark” with respect to a certain product (such as mobile phone with the model number 12345), the system will generate the following information:
TABLE 1Name ofBookmarkbookmarkItemUser IDtypecontentTime bookmark addedDataAProductMobileAug. 8, 2010, 10: 20informationphone 12345
Based on this type of bookmark table in the existing systems, when the user wants to search the data information of a certain bookmarked object, he or she can obtain it only by accurately inputting the name of the bookmark content. For example, if a product was added to a bookmarks folder, then the only way to search for it is to accurately input the product name; if a shop was added to a bookmarks folder, then the only way to search for it is to accurately input the shop name. This is referred to as single condition search. Such a simple search method is better suited to situations where smaller quantities of bookmarks have been kept for shorter periods of time. As larger amounts of bookmarks are kept for longer periods of time, it becomes very difficult for the user to find the bookmark information he wants if the bookmark content information is not input accurately. The user will generally have to spend a lot of time and effort to find the bookmark data that he wants, which detracts significantly from the purpose of the bookmark folder.
To solve this problem, some shopping websites are now providing a tag classification feature for bookmark data. “Tag classification” refers to the addition of specific tags to user's bookmark objects, such as products or shops with the purpose of identifying the category to which the bookmark content belongs. This tag can be a product type, or it can be any category indicated by the user, e.g., “Mobile phones,” “Food,” “Buy next time,” “Pay attention,” etc. Although the tag classification method is simple and convenient, it is very arbitrary. Thus, as time goes by, redundant categories tend to be created, and the content placed in them can easily become confused. Therefore, users who employ such schemes still have trouble finding the bookmark data they want.
Another way to solve the problems that arise when users are only able to employ single condition searches on bookmark data is to enable users to search bookmark data using multiple conditions. For example, a relational database query approach can be used. That is, during a search, information in the bookmark table is used to make queries associated with the current shopping website's user database, product database, and shopping database. For example, the system uses a product name to link to the shopping website's product database, and queries for product information corresponding to the product information in the user's bookmarks. Or the system uses a shop name to link to the shopping website's shop database and queries for shop information corresponding to the shop information in the user's bookmarks. However, in the case of large-scale shopping websites, product databases, shop databases, user databases, and bookmark databases are vast and ever-increasing in size. The databases of many shopping website already have data entries in the tens or hundreds of millions. It is now very difficult to carry out effective relational queries between multiple databases containing so much data. Even if it were possible to implement relational queries between such huge databases, the searches would be very slow and would lead to enormous waste in terms of system performance and resources. In addition, the corresponding data in the product database, shop database, and user database relating to the bookmark data can be re-edited and revised and even deleted, with the result that the user will have difficulty obtaining relevant information after the bookmark is saved. This further diminishes the usefulness of the bookmarks.
An efficient and quick way to process and search vast amounts of data associated with user bookmarks at large shopping websites is therefore needed.