WO2009004231A2 - Information sorting method - Google Patents

Information sorting method Download PDF

Info

Publication number
WO2009004231A2
WO2009004231A2 PCT/FR2008/051064 FR2008051064W WO2009004231A2 WO 2009004231 A2 WO2009004231 A2 WO 2009004231A2 FR 2008051064 W FR2008051064 W FR 2008051064W WO 2009004231 A2 WO2009004231 A2 WO 2009004231A2
Authority
WO
WIPO (PCT)
Prior art keywords
sorting
criterion
criteria
values
value
Prior art date
Application number
PCT/FR2008/051064
Other languages
French (fr)
Other versions
WO2009004231A3 (en
Inventor
Romuald Poirot
Nicolas Sede
Original Assignee
Compario
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Compario filed Critical Compario
Publication of WO2009004231A2 publication Critical patent/WO2009004231A2/en
Publication of WO2009004231A3 publication Critical patent/WO2009004231A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management

Definitions

  • the present invention relates to an information sorting method. It also aims a system implementing this method.
  • the invention relates more particularly to a method of sorting information in an electronic catalog according to sorting criteria relating to information relating to the entities to be sorted.
  • sorting tools allow users to sort the products of the same category according to several of the sorting criteria proposed, such as for example price, brand, color, etc.
  • sorting criteria proposed such as for example price, brand, color, etc.
  • sorting values are available, such as, for example, price bands when the sorting criterion is the price.
  • the sorting methods implemented in the sorting tools currently proposed make it possible to sort information in several steps.
  • the user selects one or more sort values for one or more sorting criteria.
  • a catalog database containing all the products concerned by the sorting is accessed and each sorting value of each criterion sorting is tested on each of the products involved in sorting.
  • the result of the sort is displayed.
  • these sorting methods have several disadvantages. Indeed, it happens quite frequently that a user results in a zero result for a combination of sorting values of the sorting criteria he has selected.
  • these sorting processes require very large computer resources and the time to perform a sorting increases with the frequentation of the site.
  • sorting methods incorporating a pre calculation of the proposed combinations of sorting values, make it possible to avoid obtaining a zero sorting result.
  • these sorting methods pose volumetric problems and have sorting capabilities limited to sorting combinations composed of a dozen sorting values and / or sorting criteria.
  • An object of the invention is to provide a method and a system for determining the result of a sort of information faster, requiring less computing resources than current sorting processes.
  • Another object of the invention is to provide a method and a sorting system having a greater sorting capacity.
  • the present invention makes it possible to achieve the aforementioned aims by a method for determining the result of a sort of information relating to a plurality of entities, according to at least one sorting value of at least one sorting criterion: the criterion sorting agent being selected from a plurality of sorting criteria each relating to a characteristic of each of the entities, and having one or more sorting criterion values, and - said sorting value being selected from one or more sorting values of the sorting criterion. sorting; characterized in that
  • each sorting criterion is associated with a dimension of a multidimensional database, this base being constructed from the characteristics of the entities, each of the sorting values of a sorting criterion being associated with a member of the dimension associated with this sorting criterion, and the sorting result is determined according to the content of the multidimensional database whose coordinates are the member associated with the sorting value on the dimension corresponding to the sorting criterion.
  • sorting information relating to a plurality of entities we mean a computer selection of entities satisfying sorting values of selected sorting criteria.
  • the result of such a selection can be the number of entities satisfying the sorting values, the entity identifier or any other data relating to the entities concerned.
  • the method according to the invention makes it possible, by the use of a multidimensional database as described above, to perform sorting and to determine the results of sorting performed more rapidly, more flexible, less expensive and requiring less computing resources when sorting.
  • the multidimensional database is constructed based on the characteristics of the entities on which the sorting of information and the proposed values and sorting criteria is carried out.
  • each content of the multidimensional database corresponds to the result of the sorting carried out with the combination of sorting values associated with the members, the coordinates of this content, for the sorting criteria associated with the dimensions on which these members are located.
  • the result of a sorting performed for one or more sort values selected for one or more sorting criteria is determined according to the content of the multidimensional database whose coordinates are the members associated with each of said sorting values. on all dimensions, associated with each of said sorting criteria.
  • the sorting criteria and sorting values for each sorting criterion can be determined, modified, deleted or added by an administrator, using a back office tool, based on the entity data.
  • the sorting values for each sorting criterion can be displayed in a drop-down menu associated with the sorting criterion.
  • the user can make a multi selection of sort values.
  • the sort values for each sort criterion can be displayed in the form of a tree.
  • the sorting result can include the number of entities satisfying the sorting values for the sorting criteria.
  • each content of the multidimensional database corresponds to the number of entities satisfying the combination of sorting values associated with the members, coordinates of this content, for the sorting criteria associated with the dimensions on which these members are located.
  • the method according to the invention may comprise, for a preceding sorting carried out according to at least one preceding sorting value, a determination of at least one sorting value, said to be available, for at least one other sorting criterion, which may be combined with said previous sorting value, to perform a new sort giving a non-zero result.
  • the sort values giving a zero sorting result in combination with at least one previous sorting value are not proposed so that no each sorting performed results in a zero result.
  • the method according to the invention makes it possible to update the sorting values for each sorting criterion so as to avoid a combination of sorting values resulting in a zero result.
  • the method according to the invention makes it possible, on the one hand, to avoid the frustration created in a user by zero result sorting and, on the other hand, to save the time lost for sorting zero results.
  • the method according to the invention may further comprise a display of the result of a new sort for at least one sorting value available.
  • a sorting value is available to be combined, in the framework of a future sorting, with at least one previous sorting value used for a previous sorting, the method according to the invention makes it possible to display the result sorting to come.
  • the multidimensional database is accessed by a Multi Dimensional Expression (MDX) query generated by an MDX query builder from the combination of sort values of selected sort criteria.
  • MDX Multi Dimensional Expression
  • the multidimensional database can be constructed from a so-called intermediate database, comprising for each entity an identifier and a sorting value for each sorting criterion.
  • a database can be organized in the form of a two-dimensional table, for each category of entities, containing a column for the product identifier and a column for sorting criteria.
  • the intermediate database can be organized in the form of a table by sorting criterion. This second embodiment offers better performance when feeding the multidimensional base from the intermediate base.
  • Such an intermediate database makes it possible to update the multidimensional database simply, quickly and without requiring significant computer resources.
  • the intermediate database can be constructed from a database, called a catalog, using SQL type queries to access the contents of the catalog database. For each entity of a feature category, a sort value for each proposed sort criterion is determined based on the entity information contained in the catalog database.
  • the method according to the invention may comprise a display in a display window of the result of the sorting.
  • This display window can be the one used to display the sorting criteria as well as the sorting values for each sort criterion.
  • the method according to the invention can comprise, during the various sorting steps, a display in a display window of the entities satisfying the sorting values selected from the sorting criteria.
  • the display of these entities can be performed either automatically or triggered by the user according to the result of the sorting.
  • the method according to the invention may further comprise updating the multidimensional database and the intermediate database at a predetermined frequency and / or controlled by an administrator.
  • the update can be performed following, for example, a modification of the sorting criteria, the sorting values, the catalog database, etc.
  • the method according to the invention can advantageously be used for sorting product information, in an electronic catalog, offered for sale on a website.
  • a category of products may be "camcorders”, and the sorting criteria and the values may, for example, be as follows:
  • a system implementing the method according to the invention.
  • Such a system comprises a multidimensional database, means for displaying at least one sorting criterion and at least one sorting value per sorting criterion and means for accessing the multidimensional base as a function of the values. of selected sorting criteria.
  • the system according to the invention may comprise an MDX request generator for accessing the multidimensional database.
  • the database as well as the MDX query builder can be on a server.
  • the system according to the invention may further comprise an intermediate database accessible from the multidimensional database and a catalog database accessible from the intermediate database.
  • the system according to the invention may further comprise a back office computer tool for managing criteria and sorting values as well as the various databases and their update process.
  • system comprises means for linking the various databases, in the form of an SQL query, a computer program, etc.
  • FIG. 1 is a schematic representation of an exemplary system according to the invention
  • Figure 2 is a schematic representation of the use of an OLAP cube according to the invention
  • FIG. 3 is a representation of a list of sorting criteria
  • FIG. 4 is a representation of display windows allowing an administrator to activate a sorting criterion and the sorting values for this sorting criterion;
  • FIG. 5 is an example of displaying a multidimensional database according to the invention using a multidimensional database explorer
  • FIG. 6 is an example of display windows making it possible to perform a drilldown mode sorting, the result of which is determined according to the invention
  • FIG. 7 is an example of display windows making it possible to carry out an "expert" sorting, the result of which is determined according to the invention
  • FIG. 1 gives a schematic representation of an exemplary system according to the invention.
  • the system represented in FIG. 1 comprises a multidimensional database 11, the content of which is calculated from an intermediate database 12 constituting the data source for the multidimensional database 11.
  • the intermediate database 12 is constructed at from data contained in a catalog database 13 corresponding to the electronic catalog containing the products that may be affected by a sort of information made by a user.
  • the system further comprises a Back Office tool 14 allowing an administrator to configure the sorting criteria, the sorting values for each sorting criterion, and the construction of the various databases, their updating, as well as the general operation of the system.
  • the multidimensional database comprises a plurality of OLAP cubes 111, each corresponding to a category or a family of products such as, for example, microwaves, mp3 players, etc.
  • Each sort criterion gives rise to an analysis axis corresponding to one dimension in each OLAP cube.
  • Each sort value for a sort criterion gives rise to a member on the dimension corresponding to the sorting criterion.
  • the result of sorting is the number of products corresponding to a sorting value of a sorting criterion.
  • the OLAP database will therefore contain all the product numbers at the intersection of all possible combinations of all the values of all the sorting criteria.
  • the database is accessed by Multi Dimensional Expressions (MDX) queries. These queries are generated by a generator of MDX query 15 from the sort criteria and the values selected for each sort criterion.
  • MDX language is the language associated with the multidimensional databases used to query MS SQL Server.
  • the MDX query generator dynamically interrogates the multidimensional database to render a new list of sorting criteria and sorting values available for these sorting criteria so as to perform a new sorting while avoiding having a sorting result. no.
  • the system further includes an SQL query generator 16 querying the catalog database to display the products corresponding to the sorting result.
  • the method according to the invention uses all the information relating to products such as as the brand, the price, the size, the promo code, the color, etc. This information is called product characteristics. In the rest of the description we will call filter a sort value for a sort criterion.
  • filter corresponds to a sort value for a sort criterion.
  • each catalog gives rise to a multidimensional database 11.
  • Each product family gives rise to an OLAP Cube 111.
  • Each sort criterion gives rise to an analysis axis or an OLAP dimension.
  • the result of sorting is the number of products corresponding to a sorting value of a sorting criterion.
  • the multidimensional database 11 therefore contains the set of product numbers at the intersection of all possible combinations of all the values of all the sorting criteria.
  • FIG. 2 gives a schematic representation of an OLAP cube 111.
  • the dimension 21, 22, 23 each correspond to a selection criterion such as for example the color, the mark and the price.
  • the dimensions 21-23 also have other members corresponding to sort values for the sorting criteria associated with dimensions 21-23.
  • dimension 21 which corresponds to the "Color” criterion, has two other members: o member 212 is associated with the sorting value “Red” and o member 213 is associated with the sorting value “Blue” D ' similarly, the dimensions 22 and 23, associated respectively with the sorting criteria "Mark” and "Price”, have members 222, 223 and 232, 233, 234 which correspond to sorting values for the price and brand sorting criteria. :
  • the filters offered to the user are set in the Back Office tool 14.
  • the filters can be set up according to several steps which are as follows:
  • Step 1 Activation of a characteristic present in the catalog or catalog database.
  • Step 2 Choice of data type: nvarchar, int, decimal, datetime or bit.
  • Step 3 Activation of a characteristic in sorting criteria: the administrator decides to include the characteristic in the proposed criteria to the user:
  • Step 4 Setting the value ranges if the characteristic is numeric (decimal or int) or Datetime type
  • Step 5 Scheduling of the sort criteria in drilldown mode and expert
  • Step 6 Publication and generation of data.
  • Figure 3 shows a window 31 summarizing the characteristics that can be activated by the administrator in sorting criteria. Each characteristic is symbolized by a cylinder. For each characteristic, the administrator can access the contents of the catalog for a product family and view the values associated with this characteristic and the number of occurrences of each value. These values are presented in a table 32, make it easier for the administrator to choose the filters associated with this characteristic.
  • the administrator also performs the typing, using a window
  • the user can also specify the ranges of values to be presented to Internet users during sorting operations.
  • the values and ranges of values specified in the window 42 generate the filters indicated in the window 43.
  • the order of appearance of the sorting criteria can also be administered in the Back Office tool 14.
  • the intermediate database 12 is generated from the catalog database 13. This intermediate database 12 is in fact the data source for the multidimensional database 11.
  • Keywords are used to represent these operators: - Inf
  • the storage of the values in the intermediate data base 12 is done in this form with the character "pipe" as separator: Operator
  • the intermediate database 12 is constructed according to a single table scheme by family containing: the product identifier a column by characteristic parameterized as a filter criterion.
  • the intermediate database 12 may also be constructed in a "star" pattern for better performance when feeding the multidimensional database 11, i.e., one table per feature. But the performance imperatives are at the time of queries during the sorting performed by the users and not when feeding the multidimensional database 11.
  • the creation of the table is based on all the characteristics that can be used in filter criteria (drilldown or expert mode).
  • the columns corresponding to the set of characteristics selected by the administrator as sorting criterion are created for each product family of the intermediate database
  • Prodld product identifier
  • ProdK [Characteristic Identifier]: Calculated product value for the characteristic.
  • Each table has an identifier constructed as follows: X [family identifier].
  • the intermediate table is fed by using a code in Assembly.NET (compiled binary code) written in C # "CaraPlagBuilder” referenced in the SQL Server engine as a GetPlag function:
  • the return value will be "between
  • Each product belongs to only one dimension member and therefore is located in only one range of characteristic values.
  • the mass call of this function thus makes it possible to feed the source table, in the intermediate database, from which the OLAP cubes of the multidimensional database will be fed.
  • the table below gives a example source table in the intermediate database 12 for the "camcorder" product family.
  • the multidimensional database 11 can be powered.
  • Each product family having its own characteristics parameterized as a filter criterion, an independent cube 111 per family is necessary.
  • a module named "CCubeGenerator” allows to build the structure of each cube 111. It is called to each family publication to refresh:
  • the list of characteristics parameterized in sorting criterion therefore the list of dimensions of the corresponding cube; - the values presented (the ranges or raw values) for each product, therefore the membership of each product to the members of each dimension; the numbers of products located at the intersection of each member of each dimension and their aggregates.
  • AnalysisServices provides programmatic access to the structure of SQL multidimensional databases
  • Step 1 Creating the multidimensional database 11:
  • Step 2 Remove a cube 111
  • Step 3 Creating the data source
  • Step 5 Creating / Editing a cube 111 Added the COUNT metric that corresponds to the number of products that meet the user's filter criteria. Save the new configuration of Cube 111.
  • Step 6 Refresh Data This is a step of incremental or total update of multidimensional database 11.
  • Fig. 5 is an example of a configuration of a multidimensional database 11 obtained with a database explorer.
  • the essential problem here is the performance, because:
  • the multidimensional database 11 is a database made with OLAP "Analysis Services" modules of the Microsoft SQL Server 2005 engine.
  • Figure 6 presents three display windows, 61-63, presenting the different steps of an example of sorting in drilldown or single-criteria mode.
  • the example of sorting relates to "microwaves.
  • the window 61 corresponds to the starting point of the sorting.
  • Four first sorting criteria are proposed: brand, price, type and volume.
  • the filters, or sorting value, proposed for these sorting criteria are given below for each sorting criterion:
  • - Price less than 100 Euros, from 10 to 200 Euros, 200 to 300 Euros and 300 to 400 Euros; - Type: Microwave and Grill, Microwave convection and convection, Microwave convection and Convection, Microwave; and
  • the total number of microwaves satisfying the "Volume from 20 to 30 liters" filter is automatically displayed at the top left of window 62 as well as the "Volume from 20 to 30 liters” filter.
  • a new sorting criterion, or filter criterion is then proposed on the window 62: "the power”. All combinations of possible filters are then recalculated and the number of products corresponding to these combinations. Only the available filters, that is, resulting in a non-zero result, are displayed with the number of microwaves corresponding to these combinations.
  • the filters available for the "Power" sorting criterion and the number of microwaves satisfying these filters are:
  • the sorting criteria as well as the filters for these sorting criteria are presented in "drilldown" mode, that is to say in the form of an updated tree with reloading. of the display window. In this drilldown mode only one filter can be selected at each step of the sorting.
  • FIG. 7 presents three display windows 71-73 of three stages of an expert or multi-criteria sorting on a category of products corresponding to mp3 players.
  • the user can select multiple filters at a time.
  • the filters are presented in a drop-down menu that the user can control.
  • the invention makes it possible to display the various available filters as well as the number of products corresponding to each filter.
  • the total number of products satisfying the selected filter combination is also calculated and displayed instantaneously at the top left of the windows 71 to 73.
  • the user selects the filter "Indifferent", the total number of mp3 players satisfying this
  • the filter is displayed in real time: 56.
  • the user On the window 72, the user has decreased the drop-down menu corresponding to the "brand” criterion and has rolled out the drop-down menu corresponding to the "Price” criterion.
  • the number of mp3 players satisfying each of the filters for the price criterion is calculated and displayed in parentheses. The user selects the filters "50 to 100 €" and "100 to 150 €”. The total number of mp3 players corresponding is displayed in real time. The user can return directly to one of the filters he has selected during the different stages of sorting without necessarily respecting the order of the steps.
  • the user On the display window 73, the user has deselected the price filter "from 50 to 100 €".
  • the invention is not limited to the examples which have just been described and can be applied to the sorting of all entities that can be grouped into at least one category or family according to the information relating to these entities.

Abstract

The invention relates to a method for determining the result of the sorting process of information relative to a plurality of entities, according to at least one sorting value associated with at least one sorting criterion. The sorting criterion is selected from a plurality of sorting criteria each relating to a characteristic of said entities and having one or more sorting criterion values, said sorting value being selected from one or more sorting values of said sorting criterion. The method is characterised in that: each sorting criterion is associated with a dimension of a multi-dimensional database (11), said base being built from data relating to said entities, each of the sorting values of a sorting criterion being associated with a member of the dimension associated with said sorting criterion; and the result of the sorting process is determined based on the content of the multi-dimensional database (11), the coordinates of which are the member associated to the sorting value on the dimension corresponding to said sorting criterion.

Description

« Procédé de tri d'informations » "Information sorting process"
La présente invention concerne un procédé de tri d'informations. Elle vise également un système mettant en œuvre ce procédé. L'invention concerne plus particulièrement un procédé de tri d'informations dans un catalogue électronique selon des critères de tri portant sur des informations relatives aux entités à trier.The present invention relates to an information sorting method. It also aims a system implementing this method. The invention relates more particularly to a method of sorting information in an electronic catalog according to sorting criteria relating to information relating to the entities to be sorted.
Actuellement, de nombreux sites Internet proposent des outils de tri d'informations de produits proposés à la vente dans des catalogues électroniques, avec l'objectif de fournir des comparateurs de produits. Ces outils de tri permettent aux utilisateurs de trier les produits d'une même catégorie selon plusieurs de critères de tri proposés, tel que par exemple prix, marque, couleur, etc. Pour chacun des critères de tri proposés plusieurs valeurs de tri sont disponibles, telles que par exemple des tranches de prix lorsque le critère de tri est le prix.Currently, many websites offer tools for sorting information of products offered for sale in electronic catalogs, with the objective of providing product comparators. These sorting tools allow users to sort the products of the same category according to several of the sorting criteria proposed, such as for example price, brand, color, etc. For each of the sorting criteria proposed, several sorting values are available, such as, for example, price bands when the sorting criterion is the price.
Les procédés de tri mis en œuvre dans les outils de tris actuellement proposés permettent de réaliser un tri d'informations en plusieurs étapes. Dans un premier temps l'utilisateur sélectionne une ou plusieurs valeurs de tri pour un ou plusieurs critères de tri. Dans un second temps, à l'aide d'une requête générée en fonction des valeurs de critères de tris sélectionnées, une base de données catalogue contenant l'ensemble des produits concernés par le tri, est accédée et chaque valeur de tri de chaque critère de tri est testée sur chacun des produits concernés par le tri. Enfin, le résultat du tri est affiché. Cependant, ces procédés de tri présentent plusieurs inconvénients. En effet, il arrive assez fréquemment qu'un utilisateur aboutisse à un résultat nul pour une combinaison de valeurs de tri des critères de tri qu'il a sélectionnées. De plus, ces procédés de tri nécessitent des ressources informatiques très important et le temps pour réaliser un tri augmente avec la fréquentation du site.The sorting methods implemented in the sorting tools currently proposed make it possible to sort information in several steps. At first, the user selects one or more sort values for one or more sorting criteria. In a second step, using a query generated according to the selected sorting criteria values, a catalog database containing all the products concerned by the sorting is accessed and each sorting value of each criterion sorting is tested on each of the products involved in sorting. Finally, the result of the sort is displayed. However, these sorting methods have several disadvantages. Indeed, it happens quite frequently that a user results in a zero result for a combination of sorting values of the sorting criteria he has selected. In addition, these sorting processes require very large computer resources and the time to perform a sorting increases with the frequentation of the site.
D'autres procédés de tri, intégrant un pré calcul des combinaisons de valeurs de tris proposées, permettent d'éviter d'aboutir à un résultat de tri nul. Cependant, ces procédés de tris posent des problèmes de volumétries et ont des capacités de tri limitées à des combinaisons de tri composées d'une dizaine de valeurs de tri et/ou de critères de tri.Other sorting methods, incorporating a pre calculation of the proposed combinations of sorting values, make it possible to avoid obtaining a zero sorting result. However, these sorting methods pose volumetric problems and have sorting capabilities limited to sorting combinations composed of a dozen sorting values and / or sorting criteria.
Un but de l'invention est de proposer un procédé et un système de détermination du résultat d'un tri d'informations plus rapide, nécessitant moins de ressources informatiques que les procédés de tri actuels.An object of the invention is to provide a method and a system for determining the result of a sort of information faster, requiring less computing resources than current sorting processes.
Un autre but de l'invention est de proposer un procédé et un système de tri présentant une plus grande capacité de tri.Another object of the invention is to provide a method and a sorting system having a greater sorting capacity.
La présente invention permet d'atteindre les buts précités par un procédé de détermination du résultat d'un tri d'informations portant sur une pluralité d'entités, selon au moins une valeur de tri d'au moins un critère de tri : le critère de tri étant sélectionné parmi une pluralité de critères de tri portant chacun sur une caractéristique de chacune des entités, et ayant une ou plusieurs valeurs de critère de tri, et - ladite valeur de tri étant sélectionnée parmi une ou plusieurs valeurs de tri du critère de tri ; caractérisé en ce queThe present invention makes it possible to achieve the aforementioned aims by a method for determining the result of a sort of information relating to a plurality of entities, according to at least one sorting value of at least one sorting criterion: the criterion sorting agent being selected from a plurality of sorting criteria each relating to a characteristic of each of the entities, and having one or more sorting criterion values, and - said sorting value being selected from one or more sorting values of the sorting criterion. sorting; characterized in that
- chaque critère de tri est associé à une dimension d'une base de données multidimensionnelle, cette base étant construite à partir des caractéristiques des entités, chacune des valeurs de tri d'un critère de tri étant associée à un membre de la dimension associée à ce critère de tri, et le résultat du tri est déterminé en fonction du contenu de la base de données multidimensionnelle ayant pour coordonnées le membre associé à la valeur de tri sur la dimension correspondant au critère de tri.each sorting criterion is associated with a dimension of a multidimensional database, this base being constructed from the characteristics of the entities, each of the sorting values of a sorting criterion being associated with a member of the dimension associated with this sorting criterion, and the sorting result is determined according to the content of the multidimensional database whose coordinates are the member associated with the sorting value on the dimension corresponding to the sorting criterion.
Par tri d'informations portant sur une pluralité d'entités, on entend une sélection informatique des entités satisfaisant des valeurs de tri de critères de tris sélectionnées. Le résultat d'une telle sélection peut être le nombre d'entités satisfaisant les valeurs de tri, l'identifiant des entités ou tout autre données relatives aux entités concernées.By sorting information relating to a plurality of entities, we mean a computer selection of entities satisfying sorting values of selected sorting criteria. The result of such a selection can be the number of entities satisfying the sorting values, the entity identifier or any other data relating to the entities concerned.
Le procédé selon l'invention permet, par l'utilisation d'une base de données multidimensionnelle telle que décrite ci-dessus, de réaliser des tris et de déterminer les résultats des tris réalisés de manière plus rapide, plus souple, moins coûteuse et en nécessitant moins de ressources informatiques lors des tris.The method according to the invention makes it possible, by the use of a multidimensional database as described above, to perform sorting and to determine the results of sorting performed more rapidly, more flexible, less expensive and requiring less computing resources when sorting.
La base de données multidimensionnelle est construite en fonction des caractéristiques des entités sur lesquels porte le tri d'informations et des valeurs et des critères de tri proposés. Ainsi, chaque contenu de la base de données multidimensionnelle correspond au résultat du tri réalisé avec la combinaison de valeurs de tris associées aux membres, coordonnées de ce contenu, pour les critères de tri associés aux dimensions sur lesquelles se trouvent ces membres. Autrement dit, le résultat d'un tri, effectué pour une ou plusieurs valeurs de tri sélectionnées pour un ou plusieurs critères de tris, est déterminé en fonction du contenu de la base multidimensionnelle dont les coordonnées sont les membres associés à chacune desdites valeurs de tri sur toutes les dimensions, associé à chacun desdits critères de tri.The multidimensional database is constructed based on the characteristics of the entities on which the sorting of information and the proposed values and sorting criteria is carried out. Thus, each content of the multidimensional database corresponds to the result of the sorting carried out with the combination of sorting values associated with the members, the coordinates of this content, for the sorting criteria associated with the dimensions on which these members are located. In other words, the result of a sorting performed for one or more sort values selected for one or more sorting criteria is determined according to the content of the multidimensional database whose coordinates are the members associated with each of said sorting values. on all dimensions, associated with each of said sorting criteria.
Les critères de tri ainsi que les valeurs de tri pour chaque critère de tri peuvent être déterminés, modifiés, supprimés ou ajoutés par un administrateur, grâce à un outil back office, en fonction des données relatives aux entités.The sorting criteria and sorting values for each sorting criterion can be determined, modified, deleted or added by an administrator, using a back office tool, based on the entity data.
Dans un mode de réalisation particulier, dit expert, les valeurs de tri pour chaque critère de tri peuvent être affichées dans un menu déroulant associé au critère de tri. Dans ce mode de réalisation l'utilisateur peut faire une multi sélection de valeurs de tri. Dans un autre mode de réalisation, dit « drilldown », les valeurs de tri pour chaque critère de tri peuvent être affichées sous forme d'une arborescence.In a particular embodiment, said expert, the sorting values for each sorting criterion can be displayed in a drop-down menu associated with the sorting criterion. In this embodiment the user can make a multi selection of sort values. In another embodiment, called "drilldown", the sort values for each sort criterion can be displayed in the form of a tree.
Dans le mode de réalisation particulier où le résultat du tri peut comprendre le nombre d'entités satisfaisant aux valeurs de tri pour les critères de tris. Dans ce cas, chaque contenu de la base de données multidimensionnelle correspond au nombre d'entités satisfaisant la combinaison de valeurs de tris associées aux membres, coordonnées de ce contenu, pour les critères de tri associés aux dimensions sur lesquelles se trouvent ces membres. Lorsque la combinaison de valeurs de tri sélectionnées aboutit à plusieurs contenus de coordonnées différentes dans la base de données multidimensionnelle, le résultat du tri correspond à la somme de ces contenus. Avantageusement, le procédé selon l'invention peut comprendre, pour un tri précédent réalisé selon au moins une valeur de tri précédente, une détermination d'au moins une valeur de tri, dite disponible, pour au moins un autre critère de tri, pouvant être combinée à ladite valeur de tri précédente, pour réaliser un nouveau tri donnant un résultat non nul. Les valeurs de tri donnant un résultat de tri nul en combinaison avec au moins une valeur de tri précédent ne sont pas proposées de manière à ce qu'aucun chaque tri réalisé aboutisse à un résultat nul. Ainsi, le procédé selon l'invention permet de mettre à jour les valeurs de tri pour chaque critère de tri de manière d'éviter une combinaison de valeurs de tri aboutissant à un résultat nul. Autrement dit, quelque soit la combinaison de valeurs de tri sélectionnées, il y aura au moins un produit satisfaisant cette combinaison de valeurs de tri. Le procédé selon l'invention permet d'une part d'éviter la frustration créée chez un utilisateur par un tri de résultat nul et d'autre part d'économiser le temps perdu pour des tris de résultat nul.In the particular embodiment where the sorting result can include the number of entities satisfying the sorting values for the sorting criteria. In this case, each content of the multidimensional database corresponds to the number of entities satisfying the combination of sorting values associated with the members, coordinates of this content, for the sorting criteria associated with the dimensions on which these members are located. When the combination of selected sort values results in several different coordinate contents in the multidimensional database, the result of sorting is the sum of these contents. Advantageously, the method according to the invention may comprise, for a preceding sorting carried out according to at least one preceding sorting value, a determination of at least one sorting value, said to be available, for at least one other sorting criterion, which may be combined with said previous sorting value, to perform a new sort giving a non-zero result. The sort values giving a zero sorting result in combination with at least one previous sorting value are not proposed so that no each sorting performed results in a zero result. Thus, the method according to the invention makes it possible to update the sorting values for each sorting criterion so as to avoid a combination of sorting values resulting in a zero result. In other words, whatever the combination of sort values selected, there will be at least one product satisfying this combination of sort values. The method according to the invention makes it possible, on the one hand, to avoid the frustration created in a user by zero result sorting and, on the other hand, to save the time lost for sorting zero results.
De plus, le procédé selon l'invention peut en outre comprendre un affichage du résultat d'un nouveau tri pour au moins une valeur de tri disponible. En effet, lorsqu'une valeur de tri est disponible pour être combinée, dans le cadre d'un tri à venir, à au moins une valeur de tri précédente utilisée pour un tri précédent, le procédé selon l'invention permet un affichage du résultat du tri à venir.In addition, the method according to the invention may further comprise a display of the result of a new sort for at least one sorting value available. Indeed, when a sorting value is available to be combined, in the framework of a future sorting, with at least one previous sorting value used for a previous sorting, the method according to the invention makes it possible to display the result sorting to come.
La base de données multidimensionnelle est accédée par une requête de type Multi Dimensional expression (MDX) générée par un générateur de requête MDX à partir de la combinaison de valeurs de tris de critères de tris sélectionnées.The multidimensional database is accessed by a Multi Dimensional Expression (MDX) query generated by an MDX query builder from the combination of sort values of selected sort criteria.
Avantageusement, la base de données multidimensionnelle peut être construite à partir d'une base de données, dite intermédiaire, comprenant pour chaque entité un identifiant et une valeur de tri pour chaque critère de tri. Selon un premier mode de réalisation, une telle base de données peut être organisée sous forme d'une table en deux dimensions, pour chaque catégorie d'entités, contenant une colonne pour l'identifiant du produit et une colonne par critère de tri. Selon un deuxième mode de réalisation, la base de données intermédiaire peut être organisée sous forme d'une table par critère de tri. Ce deuxième mode de réalisation offre de meilleures performances lors de l'alimentation de la base multidimensionnelle à partir de la base intermédiaire.Advantageously, the multidimensional database can be constructed from a so-called intermediate database, comprising for each entity an identifier and a sorting value for each sorting criterion. According to a first embodiment, such a database can be organized in the form of a two-dimensional table, for each category of entities, containing a column for the product identifier and a column for sorting criteria. According to a second embodiment, the intermediate database can be organized in the form of a table by sorting criterion. This second embodiment offers better performance when feeding the multidimensional base from the intermediate base.
Une telle base de données intermédiaire permet de réaliser une mise à jour de la base de données multidimensionnelle de manière simple, rapide et sans nécessiter de ressources informatiques importantes.Such an intermediate database makes it possible to update the multidimensional database simply, quickly and without requiring significant computer resources.
La base de données intermédiaire peut être construite à partir d'une base de données, dite catalogue, à l'aide de requêtes de type SQL permettant d'accéder au contenu de la base de données catalogue. Pour chaque entité d'une catégorie d'entités, une valeur de tri pour chaque critère de tri proposé est déterminée en fonction des informations relatives à l'entité contenues dans la base de données catalogue.The intermediate database can be constructed from a database, called a catalog, using SQL type queries to access the contents of the catalog database. For each entity of a feature category, a sort value for each proposed sort criterion is determined based on the entity information contained in the catalog database.
Le procédé selon l'invention peut comprendre un affichage dans une fenêtre d'affichage du résultat du tri. Cette fenêtre d'affichage peut être celle servant à l'affichage des critères de tri ainsi que des valeurs de tri pour chaque critère de tri.The method according to the invention may comprise a display in a display window of the result of the sorting. This display window can be the one used to display the sorting criteria as well as the sorting values for each sort criterion.
Avantageusement, le procédé selon l'invention peut comprendre lors des différentes étapes de tri un affichage dans une fenêtre d'affichage des entités satisfaisant les valeurs de tri sélectionnées des critères de tri.Advantageously, the method according to the invention can comprise, during the various sorting steps, a display in a display window of the entities satisfying the sorting values selected from the sorting criteria.
L'affichage de ces entités peut être réalisé soit de manière automatique, soit déclenché par l'utilisateur en fonction du résultat du tri.The display of these entities can be performed either automatically or triggered by the user according to the result of the sorting.
Le procédé selon l'invention peut en outre comprendre une mise à jour de la base multidimensionnelle et de la base de données intermédiaire à une fréquence prédéterminée et/ou commandée par un administrateur. La mise à jour peut être réalisée suite par exemple à une modification des critères de tri, des valeurs de tri, de la base de données catalogue, etc.The method according to the invention may further comprise updating the multidimensional database and the intermediate database at a predetermined frequency and / or controlled by an administrator. The update can be performed following, for example, a modification of the sorting criteria, the sorting values, the catalog database, etc.
Le procédé selon l'invention peut avantageusement être utilisé pour le tri d'informations de produits, dans un catalogue électronique, proposés à la vente sur un site Internet. Dans ce cas particulier, une catégorie de produits peut être les « caméscopes », et les critères de tri ainsi que les valeurs peuvent, par exemple, être les suivants :The method according to the invention can advantageously be used for sorting product information, in an electronic catalog, offered for sale on a website. In this particular case, a category of products may be "camcorders", and the sorting criteria and the values may, for example, be as follows:
- prix : < 100 , 100-200 , 200-300 , >300 etc.- price: <100, 100-200, 200-300,> 300 etc.
- marque : Sony, Nikkon, Toshiba, etc.- brand: Sony, Nikkon, Toshiba, etc.
- support d'enregistrement : « MiniDV », « DVD », « carte mémoire », etc. Selon un autre aspect de l'invention il est proposé un système mettant en ouvre le procédé selon l'invention. Un tel système comprend une base de données multidimensionnelle, des moyens d'affichage d'au moins un critère de tri et d'au moins une valeur de tri par critère de tri et des moyens d'accès de la base multidimensionnelle en fonction des valeurs de critères de tri choisies. Ainsi, le système selon l'invention peut comprendre un générateur de requête MDX pour accéder la base de données multidimensionnelle. La base de données ainsi que le générateur de requête MDX peuvent se trouver sur un serveur. Le système selon l'invention peut en outre comprendre une base de données intermédiaire accessible depuis la base de données multidimensionnelle et une base de données catalogue accessible depuis la base de données intermédiaire.- recording media: "MiniDV", "DVD", "memory card", etc. According to another aspect of the invention there is provided a system implementing the method according to the invention. Such a system comprises a multidimensional database, means for displaying at least one sorting criterion and at least one sorting value per sorting criterion and means for accessing the multidimensional base as a function of the values. of selected sorting criteria. Thus, the system according to the invention may comprise an MDX request generator for accessing the multidimensional database. The database as well as the MDX query builder can be on a server. The system according to the invention may further comprise an intermediate database accessible from the multidimensional database and a catalog database accessible from the intermediate database.
Le système selon l'invention peut en outre comprendre un outil informatique back office de gestion des critères et des valeurs de tri ainsi que des différentes bases de données et de leur processus de mise à jour.The system according to the invention may further comprise a back office computer tool for managing criteria and sorting values as well as the various databases and their update process.
Enfin le système selon l'invention comprend des moyens de mise en relation des différentes bases de données, sous forme de requête de type SQL, de programme informatique, etc.Finally, the system according to the invention comprises means for linking the various databases, in the form of an SQL query, a computer program, etc.
D'autres avantages et caractéristiques de l'invention apparaîtront à l'examen de la description détaillée d'un mode de mise en œuvre nullement limitatif, et des dessins annexés sur lesquels :Other advantages and features of the invention will appear on examining the detailed description of a non-limiting embodiment, and the attached drawings in which:
- la figure 1 est une représentation schématique d'un exemple de système selon l'invention ; la figure 2 est une représentation schématique de l'utilisation d'un cube OLAP selon l'invention ;FIG. 1 is a schematic representation of an exemplary system according to the invention; Figure 2 is a schematic representation of the use of an OLAP cube according to the invention;
- la figure 3 est une représentation d'une liste de critères de tri ;FIG. 3 is a representation of a list of sorting criteria;
- la figure 4 est une représentation de fenêtres d'affichage permettant à un administrateur d'activer un critère de tri et les valeurs de tri pour ce critère de tri ;FIG. 4 is a representation of display windows allowing an administrator to activate a sorting criterion and the sorting values for this sorting criterion;
- la figure 5 est un exemple d'affichage d'une base de données multidimensionnelle selon l'invention à l'aide d'un explorateur de base de données multidimensionnelle ; - la figure 6 est un exemple de fenêtres d'affichages permettant de réaliser un tri en mode « drilldown »dont le résultat est déterminé selon l'invention ; et la figure 7 est un exemple de fenêtres d'affichages permettant de réaliser un tri en mode « expert » dont le résultat est déterminé selon l'invention ;FIG. 5 is an example of displaying a multidimensional database according to the invention using a multidimensional database explorer; FIG. 6 is an example of display windows making it possible to perform a drilldown mode sorting, the result of which is determined according to the invention; and FIG. 7 is an example of display windows making it possible to carry out an "expert" sorting, the result of which is determined according to the invention;
L'exemple particulier d'application que nous allons décrire dans la suite concerne le tri d'informations de produits proposés à la vente, dans un catalogue électronique sur un site Internet.The particular example of application that we will describe in the following concerns the sorting of product information offered for sale, in an electronic catalog on a website.
La figure 1 donne une représentation schématique d'un exemple de système selon l'invention. Le système représenté en figure 1 comprend une base de données multidimensionnelle 11, dont le contenu est calculé à partir d'une base de données intermédiaire 12, constituant la source de données pour la base multidimensionnelle 11. La base de données intermédiaire 12 est construite à partir de données contenues dans une base de données catalogue 13 correspondant au catalogue électronique contenant les produits pouvant être concernés par un tri d'informations réalisé par un internaute. Le système comprend en outre un outil Back Office 14 permettant à un administrateur de configurer les critères de tri, les valeurs de tri pour chaque critère de tri, et la construction des différentes bases de données, leur mise à jour, ainsi que le fonctionnement général du système.FIG. 1 gives a schematic representation of an exemplary system according to the invention. The system represented in FIG. 1 comprises a multidimensional database 11, the content of which is calculated from an intermediate database 12 constituting the data source for the multidimensional database 11. The intermediate database 12 is constructed at from data contained in a catalog database 13 corresponding to the electronic catalog containing the products that may be affected by a sort of information made by a user. The system further comprises a Back Office tool 14 allowing an administrator to configure the sorting criteria, the sorting values for each sorting criterion, and the construction of the various databases, their updating, as well as the general operation of the system.
La base de données multidimensionnelle comprend une pluralité de cubes OLAP 111, correspondant chacun à une catégorie ou une famille de produits tel que par exemple les micro-ondes, les baladeurs mp3, etc. Chaque critère de tri donne lieu à un axe d'analyse correspondant à une dimension dans chaque cube OLAP. Chaque valeur de tri pour un critère de tri donne lieu à un membre sur la dimension correspondant au critère de tri. Le résultat du tri est le nombre de produit correspondant à une valeur de tri d'un critère de tri. La base de données OLAP contiendra donc l'ensemble des nombres de produits à l'intersection de toutes les combinaisons possibles de toutes les valeurs de tous les critères de tri.The multidimensional database comprises a plurality of OLAP cubes 111, each corresponding to a category or a family of products such as, for example, microwaves, mp3 players, etc. Each sort criterion gives rise to an analysis axis corresponding to one dimension in each OLAP cube. Each sort value for a sort criterion gives rise to a member on the dimension corresponding to the sorting criterion. The result of sorting is the number of products corresponding to a sorting value of a sorting criterion. The OLAP database will therefore contain all the product numbers at the intersection of all possible combinations of all the values of all the sorting criteria.
La base de données est accédée par des requêtes MDX (Multi Dimensional expressions). Ces requêtes sont générés par un générateur de requête MDX 15 à partir des critères de tri et des valeurs sélectionnées pour chaque critère de tri. Le langage MDX est le langage associé aux bases de données multidimensionnelles employé pour requêter MS SQL Server. Le générateur de requête MDX 15 interroge dynamiquement la base de données multidimensionnelle pour restituer une nouvelle liste de critères de tri et des valeurs de tri disponibles pour ces critères de tri de manière à réaliser un nouveau tri tout en évitant d'avoir un résultat de tri nul.The database is accessed by Multi Dimensional Expressions (MDX) queries. These queries are generated by a generator of MDX query 15 from the sort criteria and the values selected for each sort criterion. The MDX language is the language associated with the multidimensional databases used to query MS SQL Server. The MDX query generator dynamically interrogates the multidimensional database to render a new list of sorting criteria and sorting values available for these sorting criteria so as to perform a new sorting while avoiding having a sorting result. no.
Le système comprend en outre un générateur de requêtes de type SQL 16 interrogeant la base de données catalogue pour afficher les produits correspondant au résultat du tri.The system further includes an SQL query generator 16 querying the catalog database to display the products corresponding to the sorting result.
Pour mieux assister un utilisateur, ou internaute, dans son processus de choix d'un produit dans le catalogue électronique et pour améliorer son expérience dans la navigation dans le catalogue, le procédé selon l'invention utilise l'ensemble des informations relatives aux produits telles que la marque, le prix, la taille, le code promo, la couleur, etc. Ces informations sont appelées les caractéristiques des produits. Dans la suite de la description nous appellerons filtre une valeur de tri pour un critère de tri.To better assist a user, or user, in its process of choosing a product in the electronic catalog and to improve its experience in browsing the catalog, the method according to the invention uses all the information relating to products such as as the brand, the price, the size, the promo code, the color, etc. This information is called product characteristics. In the rest of the description we will call filter a sort value for a sort criterion.
Nous allons maintenant décrire un exemple d'implémentation de l'invention. Dans la suite de la description « filtre » correspond à une valeur de tri pour un critère de tri.We will now describe an example of implementation of the invention. In the following description "filter" corresponds to a sort value for a sort criterion.
Choix des critères de tri et des filtresChoice of sorting criteria and filters
Selon la présente invention, chaque catalogue donne lieu à une base de données multidimensionnelle 11. Chaque famille de produit donne lieu à un Cube OLAP 111. Chaque critère de tri donne lieu à un axe d'analyse ou une dimension OLAP. Le résultat du tri est le nombre de produit correspondant à une valeur de tri d'un critère de tri. La base de données multidimensionnelle 11 contient donc l'ensemble des nombres de produits à l'intersection de toutes les combinaisons possibles de toutes les valeurs de tous les critères de tri.According to the present invention, each catalog gives rise to a multidimensional database 11. Each product family gives rise to an OLAP Cube 111. Each sort criterion gives rise to an analysis axis or an OLAP dimension. The result of sorting is the number of products corresponding to a sorting value of a sorting criterion. The multidimensional database 11 therefore contains the set of product numbers at the intersection of all possible combinations of all the values of all the sorting criteria.
La figure 2 donne une représentation schématique d'un cube OLAP 111. La dimension 21, 22, 23, correspondent chacune à un critère de choix tel que par exemple la couleur, la marque et le prix. Chaque dimension 21, 22, 23, à un membre par défaut, respectivement 211, 221, 231, qui est le membre « tout » ou « AlIProducts » correspondant au nombre total des produits de la famille de produit associé à ce cube. Les dimensions 21-23 ont également d'autres membres correspondant à des valeurs de tri pour les critères de tri associés aux dimensions 21-23. Par exemple la dimension 21, qui correspond au critère « Couleur », a deux autres membres : o le membre 212 est associé à la valeur de tri « Rouge » et o le membre 213 est associé à la valeur de tri « Bleu » D'une manière similaire les dimensions 22 et 23, associées respectivement au critères de tri « Marque » et « Prix », ont des membres 222, 223 et 232, 233, 234 qui correspondent à des valeurs de tris pour les critères de tri prix et marque :FIG. 2 gives a schematic representation of an OLAP cube 111. The dimension 21, 22, 23 each correspond to a selection criterion such as for example the color, the mark and the price. Each dimension 21, 22, 23, to a default member, respectively 211, 221, 231, which is the "all" or "AlIProducts" member corresponding to the total number of products in the product family associated with that cube. The dimensions 21-23 also have other members corresponding to sort values for the sorting criteria associated with dimensions 21-23. For example, dimension 21, which corresponds to the "Color" criterion, has two other members: o member 212 is associated with the sorting value "Red" and o member 213 is associated with the sorting value "Blue" D ' similarly, the dimensions 22 and 23, associated respectively with the sorting criteria "Mark" and "Price", have members 222, 223 and 232, 233, 234 which correspond to sorting values for the price and brand sorting criteria. :
- 222 : Sony, et 223 : Toshiba ;- 222: Sony, and 223: Toshiba;
- 232 : Moins de 100 €, 233 : de 100 à 200 €, et 234 : plus de 200€.- 232: Less than 100 €, 233: from 100 to 200 €, and 234: more than 200 €.
Ainsi lorsqu'un premier tri est réalisé avec la combinaison suivante : o Marque = Sony ; o Couleur = Rouge ; et o Prix = moins de 100 € Le résultat du tri est donné par le contenu 24 du cube 111, c'est-à- dire 5. Il y a donc 5 produits satisfaisant les critères et Lorsqu'une autre valeur de tri pour un critère de tri est rajouté, par exemple Prix = Moins de 100 € et de 100 à 200 €, alors le résultat du tri est donné par la somme des contenus 24 et 25 du cube 111, c'est-à-dire 5+2=7. Il ya 7 produits qui satisfont l'ensemble des valeurs de tri sélectionnées pour les critères de tri.So when a first sort is made with the following combination: o Brand = Sony; o Color = Red; and o Price = less than 100 € The result of sorting is given by the content 24 of the cube 111, that is to say 5. There are therefore 5 products satisfying the criteria and When another sorting value for a sorting criterion is added, for example Price = Less than 100 € and 100 to 200 €, then the result of the sorting is given by the sum of the contents 24 and 25 of the cube 111, that is to say 5 + 2 = 7. There are 7 products that satisfy all the sort values selected for the sort criteria.
Les filtres proposés à l'internaute sont paramétrés dans l'outil Back Office 14. Le paramétrage des filtres peut être effectué selon plusieurs étapes qui sont les suivantes :The filters offered to the user are set in the Back Office tool 14. The filters can be set up according to several steps which are as follows:
Etape 1 : Activation d'une caractéristique présente dans le catalogue ou base de données catalogue.Step 1: Activation of a characteristic present in the catalog or catalog database.
Etape 2 : Choix du type de données : nvarchar, int, décimal, datetime ou bit. Etape 3 : Activation d'une caractéristique en critère de tri : l'administrateur décide de faire figurer la caractéristique dans les critères proposés à l'internaute :Step 2: Choice of data type: nvarchar, int, decimal, datetime or bit. Step 3: Activation of a characteristic in sorting criteria: the administrator decides to include the characteristic in the proposed criteria to the user:
- dans un tri en mode « drilldown » ou monocritère, ou - dans un tri en mode « expert » ou multicritères- in a sorting mode "drilldown" or single-criteria, or - in a sorting mode "expert" or multi-criteria
Etape 4 : Paramétrage des plages de valeur si la caractéristique est numérique (décimal ou int) ou de type Datetime Etape 5 : Ordonnancement des critères de tris en mode drilldown et expert Etape 6 : publication et génération des données.Step 4: Setting the value ranges if the characteristic is numeric (decimal or int) or Datetime type Step 5: Scheduling of the sort criteria in drilldown mode and expert Step 6: Publication and generation of data.
La figure 3 présente une fenêtre 31 récapitulant les caractéristiques pouvant être activées par l'administrateur en critère de tri. Chaque caractéristique est symbolisée par un cylindre. Pour chaque caractéristique, l'administrateur a la possibilité d'accéder au contenu du catalogue pour une famille de produits et consulter les valeurs associées à cette caractéristique ainsi que le nombre d'occurrence de chaque valeur. Ces valeurs sont présentées dans un tableau 32, permettent de faciliter le travail de l'administrateur dans le choix des filtres associés à cette caractéristique.Figure 3 shows a window 31 summarizing the characteristics that can be activated by the administrator in sorting criteria. Each characteristic is symbolized by a cylinder. For each characteristic, the administrator can access the contents of the catalog for a product family and view the values associated with this characteristic and the number of occurrences of each value. These values are presented in a table 32, make it easier for the administrator to choose the filters associated with this characteristic.
Ensuite, à l'aide d'une fenêtre 41, représentée en figure 4, l'administrateur active la caractéristique, change son libellé, et indique si celle-ci sera visible dans les différents contextes :Then, using a window 41, shown in Figure 4, the administrator activates the feature, changes its label, and indicates whether it will be visible in different contexts:
- la fiche produit,- the product sheet,
- le tableau de comparaison,- the comparison table,
- la liste des résultats d'une recherche, dans un tri en autocompletion, c'est-à-dire dans un mode où l'internaute peut réaliser une recherche textuelle assistée. Par exemple, sous la forme d'une simple zone de texte, l'internaute est invité à rechercher un produit. Au fur et à mesure de sa frappe, les réponses pertinentes lui sont présentées. - en critère de tri simple en mode « drilldown », et- the list of the results of a search, in a sort in autocompletion, that is to say in a mode where the user can carry out an assisted text search. For example, as a simple text box, the user is prompted to search for a product. As and when it hits, the relevant answers are presented. - in simple sorting criterion in "drilldown" mode, and
- en critère de tri avancé en mode expert. L'administrateur effectue également le typage, à l'aide d'une fenêtre- in advanced sorting criterion in expert mode. The administrator also performs the typing, using a window
42 toujours représentée en figure 4. S'il s'agit d'un critère numérique, l'utilisateur peut également préciser les plages de valeurs à présenter aux internautes lors des opérations de tri. Dans le cas de l'exemple présenté en figure 4, les valeurs et plages de valeurs précisées dans la fenêtre 42 génèrent les filtres indiqués dans la fenêtre 43.42 is still represented in FIG. 4. If it is a numerical criterion, the user can also specify the ranges of values to be presented to Internet users during sorting operations. In the case of the example presented in FIG. 4, the values and ranges of values specified in the window 42 generate the filters indicated in the window 43.
L'ordre d'apparition des critères de tri peut également être administré dans l'outil Back Office 14.The order of appearance of the sorting criteria can also be administered in the Back Office tool 14.
Pour remplir la base de données multidimensionnelle 11, la base de données intermédiaire 12 est générée à partir de la base de données catalogue 13. Cette base de données intermédiaire 12 est en fait la source de données pour la base de données multidimensionnelle 11.To populate the multidimensional database 11, the intermediate database 12 is generated from the catalog database 13. This intermediate database 12 is in fact the data source for the multidimensional database 11.
Création de la base Intermédiaire 12Creating the Intermediate Base 12
Dans la base de données intermédiaire 12, plusieurs modes de présentation des filtres sont possibles. Les valeurs présentées peuvent être de la forme suivante : - Inférieur à XXXIn the intermediate database 12, several modes of presentation of the filters are possible. The values presented can be of the following form: - Less than XXX
- Entre X et Y Supérieur à YYY- Between X and Y Superior to YYY
- Egal à Z- Equal to Z
Des mots clés sont utilisés afin de représenter ces opérateurs : - InfKeywords are used to represent these operators: - Inf
BetweenBetween
- Sup- Sup
- Equal- Equal
Le stockage des valeurs dans la base données intermédiaire 12 est fait sous cette forme avec comme séparateur le caractère « pipe » : Opérateur| val l | val2 Exemple : Equal | Sony| Between I 100 | 150 Au moment de la publication d'une famille (après configuration), ce modèle de données est régénéré afin de prendre en compte les dernières valeurs pour chaque critère et pour chaque produit, d'intégrer les nouvelles caractéristiques de tri, d'adapter les plages de valeurs présentées. Dans l'exemple présent, la base de données intermédiaire 12 est construite selon un schéma mono table par famille contenant : l'identifiant du produit une colonne par caractéristique paramétrée en critère de filtre. La base de données intermédiaire 12 peut également être construite selon un schéma « en étoile » pour de meilleures performances lors de l'alimentation de la base de données multidimensionnelle 11, c'est-à-dire, une table par caractéristique. Mais les impératifs de performance se situent au moment des requêtes lors des tris réalisés par les utilisateurs et non lors de l'alimentation de la base de données multidimensionnelle 11.The storage of the values in the intermediate data base 12 is done in this form with the character "pipe" as separator: Operator | val l | val2 Example: Equal | Sony | Between I 100 | 150 At the time of publishing a family (after configuration), this data model is regenerated to take into account the latest values for each criterion and for each product, to integrate the new sorting characteristics, to adapt ranges of values presented. In the present example, the intermediate database 12 is constructed according to a single table scheme by family containing: the product identifier a column by characteristic parameterized as a filter criterion. The intermediate database 12 may also be constructed in a "star" pattern for better performance when feeding the multidimensional database 11, i.e., one table per feature. But the performance imperatives are at the time of queries during the sorting performed by the users and not when feeding the multidimensional database 11.
Lors de la publication des données, une procédure [C_CreateFamiCubeTable] est invoquée pour chaque famille de produits. Cette procédure réalise :When publishing data, a [C_CreateFamiCubeTable] procedure is invoked for each product family. This procedure performs:
- la création d'une table avec l'ensemble des champs pour chaque famille de produits, et l'alimentation de la base de données intermédiaire 12 à partir de la base de données catalogue 13.the creation of a table with the set of fields for each product family, and the supply of the intermediate database 12 from the catalog database 13.
La création de la table se fait en fonction de l'ensemble des caractéristiques susceptibles d'être employées en critère de filtre (mode drilldown ou expert). Les colonnes correspondant à l'ensemble des caractéristiques sélectionnées en critère de tri par l'administrateur sont créées pour chaque famille de produit de la base de données intermédiaireThe creation of the table is based on all the characteristics that can be used in filter criteria (drilldown or expert mode). The columns corresponding to the set of characteristics selected by the administrator as sorting criterion are created for each product family of the intermediate database
12. A l'exception de l'identifiant produit, tous les champs sont typés « chaîne de caractères ». Le modèle d'une table par famille de produit est donc le suivant :12. With the exception of the product identifier, all fields are typed "string". The model of a table by product family is therefore the following:
Prodld : identifiant produitProdld: product identifier
ProdK[Identifiant de caractéristique] : valeur calculée du produit pour la caractéristique. ProdKXXX.... Chaque table a un identifiant construit de la manière suivante : X[identifiant de famille].ProdK [Characteristic Identifier]: Calculated product value for the characteristic. ProdKXXX .... Each table has an identifier constructed as follows: X [family identifier].
L'alimentation de la table intermédiaire est réalisée en faisant appel à un code en Assembly.NET (code binaire compilé) écrit en C# « CaraPlagBuilder » référencé dans le moteur SQL Server comme fonction GetPlag :The intermediate table is fed by using a code in Assembly.NET (compiled binary code) written in C # "CaraPlagBuilder" referenced in the SQL Server engine as a GetPlag function:
CREATE FUNCTION [dbo] [GetPlag] @CaraValue [nvarchar] 250 @CaraPlag [int] @CaraMιnιPlag [nvarchar] JOOO @CaraType [nvarchar] ,50 * RETURNS [nvarchar] 1000 WITH EXECUTE AS CALLER AS EXTERNAL NAME [CaraPlagBuilder] [CaraPlagBuilder.PlagBuilder] [GetPlag]CREATE FUNCTION [dbo] [GetPlag] @CaraValue [nvarchar] @CaraPlag [int] @ CaraMιnιPlag [nvarchar] JOOO @CaraType [nvarchar], 50 * RETURNS [nvarchar] 1000 WITH EXECUTE AS CALLER EXTERNAL NAME [CaraPlagBuilder] [CaraPlagBuilder] .PlagBuilder] [GetPlag]
Ceci garanti des performances optimales pour les traitements et calculs effectués. Les paramètres sont les suivants : - @CaraValue : Valeur en cours pour la caractéristique pour le produitThis guarantees optimal performance for the treatments and calculations performed. The parameters are as follows: - @CaraValue: Current value for the characteristic for the product
- @CaraPlag : nombre de plages de valeur souhaitées (optionnel)- @CaraPlag: number of desired value ranges (optional)
- @CaraMiniPlag : bornes des plages de valeur- @CaraMiniPlag: value range terminals
- @CaraType : type de données paramétré Pour garantir l'internationalisation d'un moteur tri mettant en ouvre le système selon l'invention, et pour assurer l'indépendance de la langue, les valeurs sont d'abord « nettoyées » de tous les caractères spéciaux possibles. Ainsi les caractères suivants : ÀÂÂÂÀÀàaââàâÔOÔÔO0oόôôô0ÈÉÊEèéêëlïîïHÏÏÙUÛUùύûϋyNπÇç sont respectivement remplacés par ceux-ci :- @CaraType: parameterized data type To guarantee the internationalization of a sorting engine implementing the system according to the invention, and to ensure the independence of the language, the values are first "cleaned" of all the special characters possible. Thus the following characters:  à à a a a â é é é é é é é é é é é é é é é é é é é é é é é é é é é é é é é é é é é é é é é é é é é é é é?
AAAAAAaaaaaaOOOOOOooooooEEEEeeeeîïIîiiMUUUUuuuuyNπCc Si la valeur de la caractéristique est à chaîne vide ou NULL ou 0, la valeur renvoyée sera « equal | | ». Si il n'y a pas de plages définies, la valeur renvoyée sera « equal | va/eur| ». Si des plages ont été précisées en paramètre, les différentes plages précisées sont parcourues pour trouver à laquelle appartient le produit. Si le produit est en dessous de la première valeur de plage, la valeur renvoyée sera « inf| .Zère valeur\ ». Si le produit est au dessus de la dernière valeur de plage, la valeur renvoyée sera « sup I dernière valeur\ ». Si le produit est situé entre 2 bornes, la valeur renvoyée sera « between | bornel | borne2 ». Chaque produit n'appartient qu'à 1 seul membre de dimension et donc n'est situé que dans une seule plage de valeurs de caractéristique. L'appel en masse de cette fonction permet donc d'alimenter la table source, dans la base de données intermédiaire, à partir de laquelle les cubes OLAP de la base de données multidimensionnelle seront alimentés. Le tableau ci-dessous donne un exemple de table source dans la base de données intermédiaire 12 pour la famille de produits « caméscope ».AAAAAAaaaaaaOOOOOOooooooEEEEeeeeiiiIiiiMUUUUuuuuyNπCc If the value of the characteristic is empty string or NULL or 0, the return value will be "equal | | ". If there are no defined ranges, the returned value will be "equal | va / eur | ". If ranges have been specified in parameter, the various specified ranges are searched to find to which the product belongs. If the product is below the first range value, the return value will be "inf | .Z era value \ ". If the product is above the last range value, the return value will be "sup I last value \". If the product is between 2 terminals, the return value will be "between | bornel | terminal2 ". Each product belongs to only one dimension member and therefore is located in only one range of characteristic values. The mass call of this function thus makes it possible to feed the source table, in the intermediate database, from which the OLAP cubes of the multidimensional database will be fed. The table below gives a example source table in the intermediate database 12 for the "camcorder" product family.
Figure imgf000016_0001
equal | DVD-R 3", 3" DVD- equal I Adaptateur secteur
Figure imgf000016_0001
equal | DVD-R 3 ", 3" DVD- equal I AC adapter
92502 inf| 3| RW, 3" DVD+RW, 3" externe I DVD+R DL, 3" DVD+R| equal I Adaptateur secteur92502 inf | 3 | RW, 3 "DVD + RW, 3" external I DVD + R DL, 3 "DVD + R | equal I AC adapter
92504 sup| 8| equal | Digital8| externe I equal | DVD-R 3", 3" DVD- 92506 between | 3|4 RW, 3" DVD+RW, 3" equal | |92504 sup | 8 | equal | Digital8 | external I equal | DVD-R 3 ", 3" DVD- 92506 between | 3 | 4 RW, 3 "DVD + RW, 3" equal | |
DVD+R DL| equal I DVD-R 3", 3" DVD- equal I Adaptateur secteurDVD + R DL | equal I DVD-R 3 ", 3" DVD- equal I AC adapter
92521 between |4| 692521 between | 4 | 6
RW I externe I equal I Adaptateur secteur equal 13" DVD-RAM, DVD-RRW I external I equal I 13 "equal power adapter DVD-RAM, DVD-R
92522 between |4| 6 + chargeur de batterie - 3", 3" DVD-RWI externe I equal I Adaptateur secteur equal 13" DVD-RAM, DVD-R92522 between | 4 | 6 + battery charger - 3 ", 3" external DVD-RWI I equal I Equivalent 13 "power adapter DVD-RAM, DVD-R
92528 inf| 3| + chargeur de batterie - 3", 3" DVD-RWI externe I equal I Adaptateur secteur92528 inf | 3 | + battery charger - 3 ", 3" external DVD-RWI I equal I AC adapter
92540 between | 6| 8 equal | Mini DV| externe I92540 between | 6 | 8 equal | Mini DV | external I
A partir des données générées, la base de données multidimensionnelle 11 peut être alimentée. Chaque famille de produit ayant ses propres caractéristiques paramétrées en critère de filtre, un cube 111 indépendant par famille est nécessaire. Un module nommé « CCubeGenerator » permet de construire la structure de chaque cube 111. Celui-ci est appelé à chaque publication de famille afin de rafraîchir :From the generated data, the multidimensional database 11 can be powered. Each product family having its own characteristics parameterized as a filter criterion, an independent cube 111 per family is necessary. A module named "CCubeGenerator" allows to build the structure of each cube 111. It is called to each family publication to refresh:
- la liste des caractéristiques paramétrées en critère de tri, donc la liste des dimensions du cube correspondant ; - les valeurs présentées (les plages ou valeurs brutes) pour chaque produit, donc l'appartenance de chaque produit aux membres de chaque dimension ; les nombres de produits situés à l'intersection de chaque membre de chaque dimension et leurs agrégats.the list of characteristics parameterized in sorting criterion, therefore the list of dimensions of the corresponding cube; - the values presented (the ranges or raw values) for each product, therefore the membership of each product to the members of each dimension; the numbers of products located at the intersection of each member of each dimension and their aggregates.
Le modèle d'objets Microsoft. AnalysisServices permet d'accéder programatiquement à la structure des bases multidimensionnelles SQLThe Microsoft object model. AnalysisServices provides programmatic access to the structure of SQL multidimensional databases
Server et donc de créer ou de modifier des bases de manière automatisée.Server and thus to create or modify databases in an automated way.
Ainsi les différentes étapes réalisées à ce stade sont les suivantes :Thus the different steps carried out at this stage are as follows:
Etape 1 : Création de la base multidimensionnelle 11 :Step 1: Creating the multidimensional database 11:
Si la base multidimensionnelle pour le catalogue n'existe pas, elle est créée.If the multidimensional database for the catalog does not exist, it is created.
Etape 2 : Suppression d'un cube 111Step 2: Remove a cube 111
Si la famille en cours a déjà un cube 111, suppression de celui-ci. Etape 3 : Création de la source de donnéesIf the current family already has a cube 111, delete it. Step 3: Creating the data source
Rafraîchissement de la liste des tables disponibles dans la base intermédiaire pour intégration dans le cube 111. Ajout de la table X[identifiant de famille] au diagramme de données.Refreshing the list of available tables in the intermediate database for integration into cube 111. Added table X [family identifier] to the data diagram.
Etape 4 : Création des nouvelles dimensions [AII Products] 1. Définition du membre par défaut, de la structure et du mode de stockage : dim.Type = Λ vx ^ N - s x .Regular; dim.AttributeAIIMemberName = "AH Products" Le membre par défaut correspond à l'ensemble des produits pour un critère de tri.Step 4: Creating the new dimensions [AII Products] 1. Definition of the default member, the structure and the storage mode: dim.Type = Λ v x ^ N - sx .Regular; dim.AttributeAIIMemberName = "AH Products" The default member is the set of products for a sort criterion.
2. Création de l'attribut racine basé sur l'identifiant :2. Creating the root attribute based on the identifier:
3. Récupération de la liste des caractéristiques en critère de tri. Pour chacun des critères, création d'une dimension dont les membres seront les valeurs distinctes possibles. Connexion sur le champ Source dans la base de données intermédiaire.3. Retrieval of the list of characteristics in sorting criteria. For each of the criteria, create a dimension whose members will be the possible distinct values. Connection to the Source field in the intermediate database.
4. Création de la hiérarchie de dimension par défaut basée sur l'attribut « Prodld ».4. Create the default dimension hierarchy based on the "Prodld" attribute.
Etape 5 : Création/ Modification d'un cube 111 Ajout de la Mesure COUNT qui correspond au nombre de produits satisfaisant les critères de filtres de l'internaute. Sauvegarde de la nouvelle configuration du Cube 111. Etape 6 : Rafraîchissement des données C'est une étape de mise à jour incrémentielle ou totale de la base multidimensionnelle 11.Step 5: Creating / Editing a cube 111 Added the COUNT metric that corresponds to the number of products that meet the user's filter criteria. Save the new configuration of Cube 111. Step 6: Refresh Data This is a step of incremental or total update of multidimensional database 11.
La figure 5 est un exemple d'une configuration d'une base de données multidimensionnelle 11 obtenue avec un explorateur de base de données.Fig. 5 is an example of a configuration of a multidimensional database 11 obtained with a database explorer.
La problématique essentielle ici est la performance, à cause :The essential problem here is the performance, because:
- du nombre de requêtes à effectuer afin d'obtenir en permanence le nombre de produits correspondant à chaque valeur de critèrethe number of requests to be made in order to permanently obtain the number of products corresponding to each criterion value
- du nombre d'internautes potentiellement présent en même temps - des technologies Internet elles-mêmes : un protocole simple et sans état (http), la multitudes des navigateurs clients (Firefox, Internet Explorer, Opéra..) et leurs versions, les systèmes d'exploitation (Linux, Windows...) et les technologies de développement client embarquées (javascript) Etant donné que le nombre de critères est supérieur à 5 et peut atteindre 25 voire 30 critères, une solution de précalcul / cache client et/ou serveur serait fastidieuse, très complexe et particulièrement lourde à mettre en œuvre.- the number of Internet users potentially present at the same time - the Internet technologies themselves: a simple and stateless protocol (http), the multitude of browsers clients (Firefox, Internet Explorer, Opera ..) and their versions, the systems operating system (Linux, Windows ...) and embedded client development technologies (javascript) Since the number of criteria is greater than 5 and can reach 25 or even 30 criteria, a precalculation / client cache solution and / or server would be tedious, very complex and particularly cumbersome to implement.
Le système selon l'invention qui vient d'être décrit présente les avantages suivants :The system according to the invention which has just been described has the following advantages:
- Rapidité de calcul,- Speed of calculation,
- Aggrégats et composition facilités,- Aggregates and composition facilitated,
- Montée en charge assurée,- Assured increase in charge,
- Facilité d'utilisation La base de données multidimensionnelle 11 est une base de données réalisée avec des modules OLAP « Analysis Services » du moteur SQL Server 2005 de Microsoft.- Ease of use The multidimensional database 11 is a database made with OLAP "Analysis Services" modules of the Microsoft SQL Server 2005 engine.
Nous allons maintenant décrire en référence aux figures 6 et 7 deux exemples de tri réalisés avec le système selon l'invention. La figure 6 présente trois fenêtres d'affichage, 61-63, présentant les différentes étapes d'un exemple de tri en mode drilldown ou monocritère. L'exemple de tri porte sur les « micro-ondes . La fenêtre 61 correspond au point de départ du tri. Quatre premiers critères de tri sont proposés : la marque, le prix, le type et le volume. Les filtres, ou valeur de tri, proposés pour ces critères de tri sont indiqués ci-dessous pour chaque critère de tri :We will now describe with reference to Figures 6 and 7 two examples of sorting with the system according to the invention. Figure 6 presents three display windows, 61-63, presenting the different steps of an example of sorting in drilldown or single-criteria mode. The example of sorting relates to "microwaves. The window 61 corresponds to the starting point of the sorting. Four first sorting criteria are proposed: brand, price, type and volume. The filters, or sorting value, proposed for these sorting criteria are given below for each sorting criterion:
- Marque :Ariston, Moulinex, Panasonic et Russell Hobbs ;- Brand: Ariston, Moulinex, Panasonic and Russell Hobbs;
- Prix : moins de 100 Euros, de 10 à 200 euros, 200 à 300 Euros et de 300 à 400 Euros ; - Type : Micro-ondes et Gril, Micro-ondes chaleur tournante et convection, Micro-ondes chaleur tournante et Convection, Micro-ondes ; et- Price: less than 100 Euros, from 10 to 200 Euros, 200 to 300 Euros and 300 to 400 Euros; - Type: Microwave and Grill, Microwave convection and convection, Microwave convection and Convection, Microwave; and
- Volume : 10 à 20 litres, 20 à 30 litres, 30 à 40 litres, et plus de 40 litres ; et Pour chaque filtre, le nombre de produit correspondant est affiché entre parenthèses à coté de ce filtre. Le nombre total de micro-ondes est affiché en haut à gauche de la fenêtre 61.- Volume: 10 to 20 liters, 20 to 30 liters, 30 to 40 liters, and more than 40 liters; and For each filter, the corresponding product number is displayed in parentheses next to this filter. The total number of microwaves is displayed at the top left of window 61.
L'internaute clic sur le filtre « de 20 à 30 litres ». Le nombre total de micro-onde satisfaisant le filtre « Volume de 20 à 30 litres » est affiché automatiquement en haut à gauche de la fenêtre 62 ainsi que le filtre « Volume de 20 à 30 litres ». Un nouveau critère de tri, ou critère de filtre est alors proposé sur la fenêtre 62 : « la puissance ». Toutes les combinaisons de filtres possibles sont alors recalculées et ainsi que le nombre de produits correspondant à ces combinaisons. Seul les filtres disponibles, c'est-à-dire, aboutissant à un résultat non nul sont affichés avec le nombre de micro-ondes correspondant à ces combinaisons. Les filtres disponibles pour le critère de tri « Puissance » et le nombre de micro-ondes satisfaisant ces filtres sont :The user clicks on the filter "from 20 to 30 liters". The total number of microwaves satisfying the "Volume from 20 to 30 liters" filter is automatically displayed at the top left of window 62 as well as the "Volume from 20 to 30 liters" filter. A new sorting criterion, or filter criterion is then proposed on the window 62: "the power". All combinations of possible filters are then recalculated and the number of products corresponding to these combinations. Only the available filters, that is, resulting in a non-zero result, are displayed with the number of microwaves corresponding to these combinations. The filters available for the "Power" sorting criterion and the number of microwaves satisfying these filters are:
- de 500 à 1000 watts (11), et - de 1000 à 1500 watts (1).- from 500 to 1000 watts (11), and - from 1000 to 1500 watts (1).
L'internaute clique sur le filtre « de 100 à 200 € ». Les combinaisons sont recalculées et affichées sur la fenêtre 63. La combinaison de filtres choisis par l'internaute, à savoir « Volume de 100 à 200 » et Prix de 100 à 200 € » ainsi que le nombre de micro-ondes satisfaisant cette combinaison de filtres sont affichés en haut à gauche de la fenêtre 63. Remarquons que la marque Ariston n'est plus proposée. Cela vient du fait qu'aucun microonde de marque Ariston ne correspond à la combinaison de filtres « Volume de 100 à 200 » et Prix de 100 à 200 € ». Par ailleurs un nouveau critère apparaît : « chaleur tournante ». De plus, un nouveau filtre pour le critère « Marque » apparaît : « Samsung ».Et ainsi de suite.The user clicks on the filter "from 100 to 200 €". The combinations are recalculated and displayed on the window 63. The combination of filters chosen by the user, namely "Volume 100 to 200" and price 100 to 200 € "and the number of microwaves satisfying this combination Filters are displayed at the top left of window 63. Note that the Ariston brand is no longer offered. This comes from the fact that no Ariston brand microwaves correspond to the combination of filters "Volume from 100 to 200" and Price from 100 to 200 € ». In addition, a new criterion appears: "rotating heat". In addition, a new filter for the "Brand" criterion appears: "Samsung". And so on.
Dans l'exemple qui vient d'être décrit, les critères de tri ainsi que les filtres pour ces critères de tri sont présentés en mode « drilldown », c'est-à- dire sous forme d'une arborescence mise à jour avec rechargement de la fenêtre d'affichage. Dans ce mode « drilldown » un seul filtre peut être sélectionné à chaque étape du tri.In the example just described, the sorting criteria as well as the filters for these sorting criteria are presented in "drilldown" mode, that is to say in the form of an updated tree with reloading. of the display window. In this drilldown mode only one filter can be selected at each step of the sorting.
Nous allons maintenant décrire un deuxième exemple en référence à la figure 7, qui présente trois fenêtres d'affichage, 71-73 de trois étapes d'un tri en mode expert ou multicritères portant sur une catégorie de produits correspondant aux baladeurs mp3. Dans ce deuxième exemple, l'internaute peut sélectionner plusieurs filtres à la fois. Pour chacun des critères de tri, les filtres sont présentés dans un menu déroulant que l'internaute peut contrôler. Quel que soit le critère, l'invention permet d'afficher les différents filtres disponibles ainsi que le nombre de produits correspondant à chaque filtre. Le nombre total de produits satisfaisant la combinaison de filtre sélectionnés est également calculé et affiché instantanément en haut à gauche des fenêtres 71 à 73. Sur la fenêtre 71, l'utilisateur sélectionne le filtre « Indifférent », le nombre total de baladeurs mp3 satisfaisant ce filtre est affiché en temps réel : 56. Sur la fenêtre 72, l'internaute a diminué le menu déroulant correspondant au critère « marque » et a déroulé le menu déroulant correspondant au critère « Prix ». Le nombre de baladeurs mp3 satisfaisant chacun des filtres pour le critère prix est calculé et affiché entre parenthèses. L'internaute sélectionne les filtres « 50 à ÎOO€ » et « de 100 à 150€ ». Le nombre total de baladeurs mp3 correspondant s'affiche en temps réel. L'internaute a la possibilité de revenir directement sur un des filtres qu'il a sélectionnés lors des différentes étapes du tri sans forcément respecter l'ordre des étapes. Sur la fenêtre d'affichage 73, l'internaute a désélectionné le filtre de prix « de 50 à ÎOO€ ». Il a réduit le menu déroulant correspondant au critère « prix », et a de nouveau déroulé le menu déroulant correspondant au critère « marque ». Remarquons que le filtre prix « de 100 à 150€ » est affiché au niveau du critère « prix ». Dans ce mode « expert » l'internaute peut donc effectuer une recherche rapide, tout en restant assuré qu'au moins un produit correspond à la combinaison de filtres qu'il a sélectionnés. Il peut facilement revenir sur certains des critères de filtres très facilement, de manière rapide, simplement en les désélectionnant, et sans avoir à reconstruire la combinaison de filtres depuis le début. Il dispose d'un bouton 74 « Afficher les résultats » lui permettant d'afficher les baladeurs mp3 satisfaisant la combinaison de filtres qu'il a sélectionnés.We will now describe a second example with reference to FIG. 7, which presents three display windows 71-73 of three stages of an expert or multi-criteria sorting on a category of products corresponding to mp3 players. In this second example, the user can select multiple filters at a time. For each of the sorting criteria, the filters are presented in a drop-down menu that the user can control. Whatever the criterion, the invention makes it possible to display the various available filters as well as the number of products corresponding to each filter. The total number of products satisfying the selected filter combination is also calculated and displayed instantaneously at the top left of the windows 71 to 73. On the window 71, the user selects the filter "Indifferent", the total number of mp3 players satisfying this The filter is displayed in real time: 56. On the window 72, the user has decreased the drop-down menu corresponding to the "brand" criterion and has rolled out the drop-down menu corresponding to the "Price" criterion. The number of mp3 players satisfying each of the filters for the price criterion is calculated and displayed in parentheses. The user selects the filters "50 to 100 €" and "100 to 150 €". The total number of mp3 players corresponding is displayed in real time. The user can return directly to one of the filters he has selected during the different stages of sorting without necessarily respecting the order of the steps. On the display window 73, the user has deselected the price filter "from 50 to 100 €". It has reduced the drop-down menu corresponding to the "price" criterion, and has new scroll down the drop-down menu corresponding to the criterion "mark". Note that the price filter "from 100 to 150 €" is displayed at the "price" criterion. In this "expert" mode, the user can therefore perform a quick search, while remaining assured that at least one product corresponds to the combination of filters he has selected. It can easily return to some of the filter criteria very easily, quickly, simply by deselecting them, and without having to rebuild the filter combination from the beginning. It has a button 74 "Show results" allowing him to display mp3 players satisfying the combination of filters he has selected.
Les exemples présentés ci-dessus permettent de constater que l'invention permet de :The examples presented above show that the invention makes it possible to:
- faciliter le processus de tri et de choix d'un produit en offrant un nombre de critères élevé s'adressant aussi bien aux spécialistes qu'aux internautes novices,- facilitate the process of sorting and choosing a product by offering a high number of criteria for both specialists and novice Internet users,
- afficher en permanence et de manière totalement dynamique le nombre de produits restant suite aux filtres appliqués par l'utilisateur.- permanently and dynamically display the number of products remaining following the filters applied by the user.
- assurer la disponibilité d'au moins un produit quels que soient les valeurs de tri des critères de tri choisies par l'internaute. - réaliser des tris dans des temps de réponses très bons, par exemple moins d'une seconde, en toutes circonstances et malgré le nombre d'informations à traiter.- Ensure the availability of at least one product regardless of the sorting values of the sorting criteria chosen by the user. - Perform sorting in very good response times, for example less than one second, in all circumstances and despite the number of information to be processed.
L'invention n'est pas limitée aux exemples qui viennent d'être décrit et peut s'appliquer au tri de toutes entités pouvant être regroupées en au moins une catégorie ou famille selon les informations relatives à ces entités. The invention is not limited to the examples which have just been described and can be applied to the sorting of all entities that can be grouped into at least one category or family according to the information relating to these entities.

Claims

REVENDICATIONS
1. Procédé de tri d'informations portant sur une pluralité d'entités, selon au moins une valeur de tri associée à au moins un critère de tri : - ledit critère de tri étant sélectionné parmi une pluralité de critères de tri portant chacun sur une caractéristique desdites entités, et ayant une ou plusieurs valeurs de critère de tri, et ladite valeur de tri étant sélectionnée parmi une ou plusieurs valeurs de tri dudit critère de tri ; caractérisé en ce queA method of sorting information relating to a plurality of entities, according to at least one sorting value associated with at least one sorting criterion: said sorting criterion being selected from among a plurality of sorting criteria each relating to a characteristic of said entities, and having one or more sorting criterion values, and said sorting value being selected from one or more sorting values of said sorting criterion; characterized in that
- chaque critère de tri est associé à une dimension d'une base de données multidimensionnelle (11), ladite base étant construite à partir de données relatives auxdites entités, chacune des valeurs de tri d'un critère de tri étant associée à un membre de la dimension associée audit critère de tri, eteach sorting criterion is associated with a dimension of a multidimensional database (11), said database being constructed from data relating to said entities, each of the sorting values of a sorting criterion being associated with a member of the dimension associated with said sorting criterion, and
- le résultat dudit tri est déterminé en fonction du contenu de la base de données multidimensionnelle (11) ayant pour coordonnées le membre associé à la valeur de tri sur la dimension correspondant audit critère de tri.the result of said sorting is determined according to the content of the multidimensional database (11) having as coordinates the member associated with the sorting value on the dimension corresponding to said sorting criterion.
2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend pour un tri précédent réalisé selon au moins une valeur de tri précédente, une détermination d'au moins une valeur de tri, dite disponible, pour au moins un autre critère de tri, pouvant être combinée à ladite valeur de tri précédente, pour réaliser un nouveau tri donnant un résultat non nul.2. Method according to claim 1, characterized in that it comprises for a previous sorting performed according to at least one previous sorting value, a determination of at least one sorting value, said available, for at least one other criterion of sorting, which can be combined with said previous sorting value, to perform a new sort giving a non-zero result.
3. Procédé selon la revendication 2, caractérisé en ce qu'il comprend en outre un affichage du résultat d'un nouveau tri pour au moins une valeur de tri disponible.3. Method according to claim 2, characterized in that it further comprises a display of the result of a new sort for at least one available sorting value.
4. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que le résultat d'un tri, effectué pour plusieurs valeurs de tri sélectionnées pour un ou plusieurs critères de tris, est déterminé en fonction du contenu de la base multidimensionnelle (11) dont les coordonnées sont les membres associés à chacune desdites valeurs de tri sur toutes les dimensions associé à chacun desdits critères de tri.4. Method according to any one of the preceding claims, characterized in that the result of a sorting, carried out for several sorting values selected for one or more sort criteria, is determined according to the content of the multidimensional base (11). ) whose coordinates are the members associated with each of said sorting values on all dimensions associated with each of said sorting criteria.
5. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que le résultat du tri comprend le nombre d'entités satisfaisant aux valeurs de tri pour les critères de tris.5. Method according to any one of the preceding claims, characterized in that the sorting result comprises the number of entities satisfying the sorting values for the sorting criteria.
6. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que la base de données multidimensionnelle (11) est accédée par une requête de type Multi Dimensional expression (MDX) relative à la combinaison de valeurs de critères de tris sélectionnées.6. Method according to any one of the preceding claims, characterized in that the multidimensional database (11) is accessed by a request of the Multi Dimensional Expression (MDX) type relating to the combination of selected criteria of sorting criteria.
7. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que la base de données multidimensionnelle (11) est construite à partir d'une base de données (12), dite intermédiaire, comprenant pour chaque entité un identifiant et une valeur de tri pour chaque critère de tri.7. Method according to any one of the preceding claims, characterized in that the multidimensional database (11) is constructed from a database (12), called intermediate, comprising for each entity an identifier and a value sorting for each sort criterion.
8. Procédé selon la revendication 7, caractérisé en ce que la base de données intermédiaire (12) est construite à partir d'une base de donnéesMethod according to claim 7, characterized in that the intermediate database (12) is constructed from a database
(13), dite catalogue, à l'aide de requêtes de type SQL comprenant pour chaque produit son identifiant et la valeur de tri correspondant à tous les critères de tri.(13), called catalog, using SQL type queries comprising for each product its identifier and the sorting value corresponding to all sorting criteria.
9. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend en outre un affichage dans une fenêtre d'affichage (51-53, 61-63) du résultat du tri.9. Method according to any one of the preceding claims, characterized in that it further comprises a display in a display window (51-53, 61-63) of the sorting result.
10. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend en outre un affichage dans une fenêtre d'affichage des entités satisfaisant les valeurs de tri sélectionnées des critères de tri. 10. Method according to any one of the preceding claims, characterized in that it further comprises a display in a display window entities satisfying the sorting values selected sorting criteria.
11. Procédé selon l'une quelconque des revendications, caractérisé en ce qu'il comprend en outre une modification, par un administrateur d'au moins un critère de tri ou d'au moins une valeur de tri d'un critère de tri.11. Method according to any one of the claims, characterized in that it further comprises a modification, by an administrator of at least one sorting criterion or at least one sorting value of a sorting criterion.
12. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend en outre une mise à jour de la base multidimensionnelle (11) à une fréquence prédéterminée et/ou commandée par un administrateur.12. Method according to any one of the preceding claims, characterized in that it further comprises an update of the multidimensional base (11) at a predetermined frequency and / or controlled by an administrator.
13. Utilisation du procédé selon l'une quelconque des revendications précédentes pour le tri de produits, dans un catalogue électronique, proposés à la vente sur un site Internet13. Use of the method according to any one of the preceding claims for sorting products, in an electronic catalog, offered for sale on an Internet site.
14. Système mettant en ouvre le procédé selon l'une quelconque des revendications précédentes. A system implementing the method of any one of the preceding claims.
PCT/FR2008/051064 2007-06-13 2008-06-13 Information sorting method WO2009004231A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0704194A FR2917518B1 (en) 2007-06-13 2007-06-13 METHOD FOR SORTING INFORMATION
FR0704194 2007-06-13

Publications (2)

Publication Number Publication Date
WO2009004231A2 true WO2009004231A2 (en) 2009-01-08
WO2009004231A3 WO2009004231A3 (en) 2009-06-04

Family

ID=38656645

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2008/051064 WO2009004231A2 (en) 2007-06-13 2008-06-13 Information sorting method

Country Status (2)

Country Link
FR (1) FR2917518B1 (en)
WO (1) WO2009004231A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014108567A1 (en) * 2013-01-14 2014-07-17 Compario Method and system for processing data for performing a sort within a set of numerical entities
CN116126872A (en) * 2023-04-18 2023-05-16 紫金诚征信有限公司 Correlation method, device and computer readable medium for real-time dimension table

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0883069A1 (en) * 1997-06-06 1998-12-09 Matsushita Electric Industrial Co., Ltd. A retrieval menu creation device and method, and a recording medium storing a retrieval menu creation program
WO2003027901A1 (en) * 2001-09-21 2003-04-03 Endeca Technologies, Inc. Scalable hierarchical data-driven navigation system and method for information retrieval
US20060036581A1 (en) * 2004-08-13 2006-02-16 Microsoft Corporation Automatic categorization of query results

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0883069A1 (en) * 1997-06-06 1998-12-09 Matsushita Electric Industrial Co., Ltd. A retrieval menu creation device and method, and a recording medium storing a retrieval menu creation program
WO2003027901A1 (en) * 2001-09-21 2003-04-03 Endeca Technologies, Inc. Scalable hierarchical data-driven navigation system and method for information retrieval
US20060036581A1 (en) * 2004-08-13 2006-02-16 Microsoft Corporation Automatic categorization of query results

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PRAKASH BULUSU: "DIVA-DATA WAREHOUSE INTERFACE FOR VISUAL ANALYSIS" A THESIS, [Online] 2003, XP002458133 UNIVERSITY OF FLORIDA Extrait de l'Internet: URL:http://etd.fcla.edu/UF/UFE0000655/bulusu_p.pdf> [extrait le 2007-11-09] *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014108567A1 (en) * 2013-01-14 2014-07-17 Compario Method and system for processing data for performing a sort within a set of numerical entities
FR3001067A1 (en) * 2013-01-14 2014-07-18 Compario METHOD AND SYSTEM FOR PROCESSING DATA FOR SORTING WITHIN A SET OF DIGITAL ENTITIES
CN116126872A (en) * 2023-04-18 2023-05-16 紫金诚征信有限公司 Correlation method, device and computer readable medium for real-time dimension table
CN116126872B (en) * 2023-04-18 2023-06-23 紫金诚征信有限公司 Correlation method, device and computer readable medium for real-time dimension table

Also Published As

Publication number Publication date
WO2009004231A3 (en) 2009-06-04
FR2917518A1 (en) 2008-12-19
FR2917518B1 (en) 2009-10-02

Similar Documents

Publication Publication Date Title
EP1515239A1 (en) Method and System for handling data extracted from multidimensional databases using a spreadsheet
RU2324220C2 (en) Providing search request extension for user interface
EP2546766B1 (en) Dynamic search box for web browser
EP0593354B1 (en) Query optimisation method for a relational database management system
WO2003042864A2 (en) Semantic web portal graphic interface
EP1193625B1 (en) Collaborative search engine
EP2188744B1 (en) Installation for managing a database
WO2003057648A9 (en) Methods and systems for searching and associating information resources such as web pages
FR2824160A1 (en) DYNAMICALLY CONFIGURABLE GENERIC CONTAINER
EP1997036A2 (en) Delivering/accessing information
US20070208722A1 (en) Apparatus and method for modification of a saved database query based on a change in the meaning of a query value over time
EP1290578B1 (en) Automatic and secure data search method using a data transmission network
WO2009004231A2 (en) Information sorting method
EP1774441B1 (en) Method for processing data and associated software program
FR2800888A1 (en) Method and system for adapting the page contents of an Internet web site server, supplying Hyper Text Markup Language pages (HTML), to a format selected by a remote user
EP1334444A1 (en) Method for searching, selecting and mapping web pages
JP2000207422A (en) Retrieval and ranking system and method for document using concept thesaurus
EP1700233A2 (en) Method for organising a database
EP0451049B1 (en) Method and storage/retrieval system of chemical formulae in a database
FR2811101A1 (en) METHOD FOR PROCESSING STRUCTURED DATA USING OBJECT ORIENTED COMPUTER LANGUAGE
WO2020229760A1 (en) Method for multidimensional indexing of textual content
FR2851354A1 (en) Database query process for computer system, involves choosing query environment and formulating request by choice in set of forms where form is human-machine interface generated from request framework
FR2957703A1 (en) MULTI-DIMENSIONAL METHODS FOR RECORDING AND RECOVERING DOCUMENTS
WO2001029703A1 (en) Method for creating a variable hierarchical structure for accessing actions in an information processing system
FR3026532A1 (en) TOOL AND METHOD FOR ASSISTING THE CREATION OF AN INTERNET SITE WHOSE REFERENCE IS IMPROVED

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08805999

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08805999

Country of ref document: EP

Kind code of ref document: A2