Différences
Ci-dessous, les différences entre deux révisions de la page.
Dernière révision Les deux révisions suivantes | |||
serveurscrutari:json:indexation [2011/10/04 20:54] vincent créée |
serveurscrutari:json:indexation [2011/10/04 21:58] vincent |
||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
Le filtre d'indexation permet de filtrer des fiches en fonction de plusieurs mots-clés. Cela permet de réduire le champ de la recherche. Ce paramètre est également utilisé pour obtenir une liste de fiches. | Le filtre d'indexation permet de filtrer des fiches en fonction de plusieurs mots-clés. Cela permet de réduire le champ de la recherche. Ce paramètre est également utilisé pour obtenir une liste de fiches. | ||
- | Le contenu du paramètre //indexation// consiste en une suite de codes de mots-clés séparés par des virgules, ces codes pouvant être sous la forme d'URI, de codes de mots-clés ou d'une forme mixte comme indiqué à la page [[serveurscrutari:json:commun|Paramètres communs]]. | + | Le contenu du paramètre //indexation// consiste en une suite de groupes de codes de mots-clés, ces codes pouvant être sous la forme d'URI, de codes de mots-clés ou d'une forme mixte comme indiqué à la page [[serveurscrutari:json:commun|Paramètres communs]]. |
- | Sans autre indication, la condition entre les mots-clés est « et » : seront conservées par le filtre uniquement les fiches indexées par le mot-clé. Il est possible d'indiquer une condition « ou » en commençant la chaine par le caractère « | ». Par exemple, la formulation suivante va donner lieu à un filtre sur les fiches indexées par le mot-clé 45 ou le mot-clé 67 ou le mot-clé 1256 : | + | Chaque groupe de mots-clés est séparé par un point-virgule et à l'intérieur d'une groupe, les codes sont séparés par une virgule. |
- | <code> | + | La relation entre les groupes est soit « ET », soit « OU ». Par défaut, elle est « ET », on indique que la relation est « OU » en commençant la chaine par le caractère « | ». Au sein d'un même groupe, la relation est l'inverse de celle entre les deux groupes. Autrement dit, si la relation entre les groupes est « ET », la relation entre mots-clés d'un même groupe est « OU ». Inversement, si la relation entre les groupes est « OU », la relation entre mots-clés d'un même groupe est « ET ». |
- | indexation=|45,67,1256 | + | |
- | </code> | + | |
- | ===== Imbrication de « et » et de « ou » ===== | + | Voici une série d'exemples : |
- | La syntaxe indiquée ci-dessus permet de faire des filtres soit « ou », soit « et » sur la totalité des mots-clés. Le paramètre //indexation// propose un mécanisme supplémentaire pour faire une imbrication simple : soit une série de « ou » avec entre eux la relation « et », soit une série de « et » avec entre eux la relation « ou ». Pour cela, on utilise le point-virgule « ; » comme séparateur des groupes de mots-clés. | + | <code javascript> |
+ | indexation=45;67;1256 //signifie 45 ET 67 ET 1256 | ||
- | Par exemple, si on veut faire un filtre sur des fiches indexées par le mot-clé 42 et par au moins un des mots-clés 567, 253 ou 934, on écrira : | + | indexation=|45;67;1256 //signifie 45 OU 67 OU 1256 |
- | <code> | + | indexation=42;567,253,934 //signifie 42 ET (567 OU 253 OU 934) |
- | 42;567,253,934 | + | |
- | </code> | + | |
- | Ce qui peut se traduire par //42 ET (567 OU 253 OU 934)//. | + | indexation=|42,567;253,934;1245,624,93 //signifie (42 ET 567) OU (253 ET 934) OU (1245 ET 624 ET 93) |
+ | </code> | ||
- | Inversement, si on veut faire un filtre indexée soit par 42 et 567, soit par 253 et 934, soit par 1245, 624 et 93, on écrira : | + | **Attention**, du fait de la syntaxe, le comportement peut paraitre bizarre s'il y a un seul groupe. En effet : |
- | <code> | + | <code javascript> |
- | |42,567;253,934;1245,624,93 | + | indexation=45,67,1256 //signifie 45 OU 67 OU 1256, car la condition entre groupes est ET et donc la condition entre membres du groupe est OU |
+ | indexation=|45,67,1256 //signifie 45 ET 67 ET 1256 car la condition entre groupes est OU et donc la condition entre membres du groupe est ET | ||
</code> | </code> | ||
- | + | Pour cette raison, il vaut mieux privilégier le point-virgule séparant plusieurs groupes avec un seul élément plutôt qu'avoir un groupe unique. | |
- | Ce qui peut se traduire par //(42 ET 567) OU (253 ET 934) OU (1245 ET 624 ET 93)//. | + | |
- | + | ||
- | La syntaxe actuelle ne permet pas des conditions plus complexe mais elle devrait suffire pour la plupart des cas. | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + |