Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.



Documents pareils
Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Optimisation de 4D Server et 4D Web Server. Résumé. 4D Notes techniques

4e Dimension Clés XML Backup. Windows /Mac OS 4e Dimension D SA. Tous droits réservés.

ORACLE TUNING PACK 11G

Single User. Guide d Installation

Parallels Transporter Lisez-moi

Exigences système Commercial & Digital Printing

Logiciel (Système d impression directe)

Demande d assistance : ecentral.graphics.kodak.com. Variable Data Print est désormais une option sous licence de InSite Storefront 6.0.

Manuel d utilisation Logiciel (Communications Utility)

Manuel d utilisation. Logiciel (Device Monitor) Pour les systèmes d imagerie numérique. Configuration requise Description générale

Demande d'assistance : ecentral.graphics.kodak.com

Exigences système Edition & Imprimeries de labeur

Nécessité de concevoir un outil de recherche PDF Présentation des fonctionnalités d'indexation et de recherche... 3

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Manuel d'utilisation Logiciel (Network TWAIN Driver)

AssetCenter Notes de version

Gestion collaborative de documents

Exigences système Commercial & Digital Printing

Exigences système Edition & Imprimeries de labeur

La sauvegarde (backup) de votre comptabilité a pour but de vous permettre de retrouver vos données si un incident est survenu.

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement)

Symantec Backup Exec.cloud

Service d information pour remise de paiement de factures Scotia

Guide d'intégration à ConnectWise

Capture Pro Software. Démarrage. A-61640_fr

Pour connaître les dernières informations, consultez le site Internet du produit (

4D v11 SQL. Mise à jour Windows /Mac OS. 4D D SAS. Tous droits réservés.

Parallels Desktop 5 Switch to Mac - Lisez-moi

01V96i Editor Manuel d'installation

Utiliser Access ou Excel pour gérer vos données

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication

Virtualisation de Windows dans Ubuntu Linux

AMI Enterprise Intelligence Pré-requis techniques

Blueprint OneWorld v8.2a Configuration Recommandée

1. Installation standard sur un serveur dédié

HP Data Protector Express Software - Tutoriel 3. Réalisation de votre première sauvegarde et restauration de disque

RoomMate Guide de l'utilisateur

Guide de prise en main Symantec Protection Center 2.1

Guide d utilisation P2WW FRZ0

Corrigé de l'atelier pratique du module 5 : Analyse de SQL Server

Installation 4D. Configuration requise Installation et activation

Veeam Backup and Replication

Mac OS X 10.6 Snow Leopard Guide d installation et de configuration

Guide d installation de Windows Vista /Windows 7

Notes de mise à jour. 4D v11 SQL Release 3 (11.3) Notes de mise à jour

Manuel d'utilisation de Mémo vocal

La clé USB nomade - La mobilité logicielle

Manuel d'utilisation de Palm BlueBoard 2.0

4D v11 SQL BREAKING THE LIMITS * Les nouveautés

iproof-x & LF Guide de l Utilisateur pour Imprimantes à Jet d encre Epson

PREREQUIS TECHNIQUES. Yourcegid Etafi Start

Acronis Backup & Recovery for Mac. Acronis Backup & Recovery et Acronis ExtremeZ-IP ARCHITECTURE DE RÉFÉRENCE

Instructions préliminaires P2WW FR Préface

Boîte à outils OfficeScan

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

1 sur 5 10/06/14 13:10

Monitor Wall 4.0. Manuel d'installation et d'utilisation

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

Juin XMS PC Connect Guide de l utilisateur

Configuration système requise pour les grandes et moyennes entreprises

CALIPIA Synthèse 2013 de l offre Apple pour les entreprises

Installation FollowMe Q server

Import PDF. Manuel d'utilisation

Fonctions pour la France

Procédure d'installation de SQL Server Express 2005

Guide d installation

Installation 4D. Configuration requise Installation et activation

À propos de Parallels Desktop 9 pour Mac

Configuration système requise

Logiciel de conférence Bridgit Version 4.6

SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2

Sharpdesk V3.3. Guide d installation Push pour les administrateurs système Version

Premiers pas avec VMware Fusion. VMware Fusion pour Mac OS X

Guide de l'utilisateur NaviPlan : Calculatrices (Volume II sur VI)

Version Wraptor Laboratories. Installation de SpamWars 4.0 Édition Entreprise

Worry-FreeTM. Business Security Éditions Standard et Advanced. Administrator s Guide. Configuration minimale requise

La GEIDE. Dans une solution GEIDE, il est possible d'associer au sein même d'un dossier:

Guide de l'utilisateur

Instructions préliminaires

Protection des données avec les solutions de stockage NETGEAR

Appareil photo numérique reflex PC Connect

Qlik Sense Desktop. Qlik Sense Copyright QlikTech International AB. Tous droits réservés.

Manuel de formation ActivExpression v2

Préconisations Techniques & Installation de Gestimum ERP

Symantec Enterprise Vault

INTERNE SETRI. NOTE D'INFORMATIONS - Réaliser une sauvegarde d'un système avec EASEUS To Do Backup v4 et +

Guide de l'utilisateur

Guide d'utilisation EMP Monitor

OwnCloud. Définition 1 / 10. Date d'édition 03/09/2013 Public concerné Étudiants, Personnels Version du logiciel

Acronis Backup & Recovery 10 Advanced Server Virtual Edition. Guide de démarrage rapide

Personnalisez votre Mac.

GUIDE DE L UTILISATEUR Recoveo Récupérateur de données

Conditions générales.

Transcription:

4D v11 SQL - les index de mots-clés Par Josh FLETCHER, Ingénieur support technique, 4D Inc. Note technique 4D-200809-18-FR Version 1 - Date 1 septembre 2008 Résumé Cette note technique couvre la nouvelle fonctionnalité des mots-clés. 4D v11 SQL ajoute le support des mots-clés sous la forme de trois nouvelles fonctionnalités : les index de mots-clés, l'opérateur de comparaison "contient mot-clé" et le support des expressions régulières (regex). Ces outils puissants permettent aux développeurs 4D de lancer des recherches basées sur des mots-clés rapides et efficaces. 4D Notes techniques Copyright 1985-2009 4D SAS - Tous droits réservés Tous les efforts ont été faits pour que le contenu de cette note technique présente le maximum de fiabilité possible. Néanmoins, les différents éléments composant cette note technique, et le cas échéant, le code, sont fournis sans garantie d'aucune sorte. L'auteur et 4D S.A. déclinent donc toute responsabilité quant à l'utilisation qui pourrait être faite de ces éléments, tant à l'égard de leurs utilisateurs que des tiers. Les informations contenues dans ce document peuvent faire l'objet de modifications sans préavis et ne sauraient en aucune manière engager 4D SA. La fourniture du logiciel décrit dans ce document est régie par un octroi de licence dont les termes sont précisés par ailleurs dans la licence électronique figurant sur le support du Logiciel et de la Documentation afférente. Le logiciel et sa documentation ne peuvent être utilisés, copiés ou reproduits sur quelque support que ce soit et de quelque manière que ce soit, que conformément aux termes de cette licence. Aucune partie de ce document ne peut être reproduite ou recopiée de quelque manière que ce soit, électronique ou mécanique, y compris par photocopie, enregistrement, archivage ou tout autre procédé de stockage, de traitement et de récupération d'informations, pour d'autres buts que l'usage personnel de l'acheteur, et ce exclusivement aux conditions contractuelles, sans la permission explicite de 4D SA. 4D, 4D Calc, 4D Draw, 4D Write, 4D Insider, 4ème Dimension, 4D Server, 4D Compiler ainsi que les logos 4e Dimension, sont des marques enregistrées de 4D SA. Windows,Windows NT,Win 32s et Microsoft sont des marques enregistrées de Microsoft Corporation. Apple, Macintosh, Power Macintosh, LaserWriter, ImageWriter, QuickTime sont des marques enregistrées ou des noms commerciaux de Apple Computer,Inc. Mac2Win Software Copyright 1990-2002 est un produit de Altura Software,Inc. 4D Write contient des éléments de "MacLink Plus file translation", un produit de DataViz, Inc,55 Corporate drive,trumbull,ct,usa. XTND Copyright 1992-2002 4D SA. Tous droits réservés. XTND Technology Copyright 1989-2002 Claris Corporation.. Tous droits réservés ACROBAT Copyright 1987-2002, Secret Commercial Adobe Systems Inc.Tous droits réservés. ACROBAT est une marque enregistrée d'adobe Systems Inc. Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs. 1 / 7

Les mots-clés en 4D v11 SQL Résumé Cette note technique couvre la nouvelle fonctionnalité des mots-clés. 4D v11 SQL ajoute le support des mots-clés sous la forme de trois nouvelles fonctionnalités : les index de mots-clés, l'opérateur de comparaison "contient mot-clé" et le support des expressions régulières (regex). Ces outils puissants permettent aux développeurs 4D de lancer des recherches rapides et efficaces, basées sur des mots-clés. Introduction Dans les versions précédentes de 4D, il était possible de faire une recherche "contient" de façon à tester si un ensemble de données texte contenait le motif recherché. De toutes façons, la délinéation de mots n'était pas nativement supportée. C'était au développeur d'affiner la recherche et/ou de "lisser" le résultat de la recherche pour obtenir la sélection souhaitée. 4D v11 SQL supporte les mots-clés pour les champs alpha et texte. Avec ce nouveau support de mots-clés dans beaucoup de cas le développeur n'a pas besoin de tordre la recherche quand une recherche de motsclés va être lancée. Maintenant que 4D est capable de déterminer ce qui constitue un "mot", le développeur doit seulement spécifier le motif de recherche. De plus, si l'interprétation de 4D de ce qui constitue un mot n'est pas acceptable, les nouvelles fonctionnalités de regex peuvent être utilisées pour une recherche plus précise. Si l'interprétation native de 4D ou un motif regex spécifique est utilisé, le résultat est le même : des recherches plus rapides, plus efficaces et un code plus clair. Le support des mots-clés dans 4D se fait de trois façons : l'index des mots-clés ; l'opérateur "% ", "contient mot-clé" le support des regex. Le nouvel index des mots-clés fournit un réel bénéfice lorsque vous lancez des recherches de mots-clés sur des champs 4D. L'opérateur "contient mot-clé", bien sûr, est utilisé pour lancer les recherches sur les mots-clés. Le support des regex est fourni par la nouvelle commande Trouver regex. Notez que cette nouvelle fonctionnalité est brièvement couverte par cette note technique. Voir la note sur les regex : référence 4D- 200802-04-FR "Introduction aux expressions régulières (REGEX) dans 4D v11 SQL". Chacune de ces nouveautés est explorée dans les sections suivantes. L'index de mots-clés En 4D v11 SQL il est possible de mettre en place un index de mot-clés sur n'importe quel champ texte ou alpha. Ceci se fait à travers l'inspecteur : 2 / 7

La case à cocher "Index de mots-clés" se situe dans la section "Indexation" de l'inspecteur. Une fois que l'index de mot-clés est validé, le texte de chaque enregistrement avec champ indexé sera indexé, mot par mot. Un des bénéfices essentiels de ce type d'index est que cela réduit drastiquement les temps de recherche. Autres points à noter : Tous les mots sont indexés, même s'ils n'ont qu'un ou deux caractères ; Il est possible d'avoir à la fois l'index de mots-clés et un index "normal" sur le même champ. 4D v11 SQL utilisera automatiquement l'index approprié en fonction de l'opération demandée ; Les données d'un champ texte peuvent maintenant être stockées à l'extérieur de l'enregistrement. Les champs textes ne peuvent pas avoir un index "standard" si les données ne sont pas stockées dans l'enregistrement. Un index de mots-clés, lui, peut être spécifié indépendamment du stockage. L'opérateur "contient mot-clé" 4D v11 SQL introduit un nouvel opérateur de comparaison permettant de faciliter les recherches par mot-clé. Ce nouvel opérateur est représenté par le symbole pourcentage : %. Cet opérateur est appelé l'opérateur "contient mot-clé". Voici un exemple simple : Nous voulons trouver tous les clients qui vivent dans les villes qui contiennent le mot "Petit". Notez que nous cherchons le mot "Petit", pas la chaîne de caractères "Petit". Voici la requête : CHERCHER([Clients];[Client]Ville%"Petit") Cette requête simple retourne tous les clients qui vivent dans une ville dont le nom contient le mot "Petit". Notez que ce n'est pas la même chose que la recherche suivante : CHERCHER([Clients];[Client]Ville="@Petit@") ou 3 / 7

CHERCHER([Clients];[Client]Ville="Petit@") Voici la table qui illustre cette différence : Dans ce cas, la recherche par mot-clé permet de trouver des résultats plus précis. Ici nous ne trouverons pas de résultats erronés comme "FERRIERE LA PETITE" alors que dans les précédentes versions de 4D, il aurait été nécessaire de faire plus de manipulations pour éliminer les villes qui contiennent la chaine "petit" tout en gardant celles qui contiennent le mot. La recherche par mot-clé 4D v11 SQL définit un mot dans une recherche par mot-clé comme une chaîne de lettre ou de nombres délimités par un "séparateur". Les séparateurs sont la ponctuation, les symboles et les espaces. Note : la recherche de mot-clé peut être utilisée même si l'index de mot-clés n'a pas été coché pour un champ. Le bénéfice de l'utilisation de l'index est la rapidité. Traitement avec les séparateurs La définition de ce qui constitue un "mot" dans 4D induit les comportements. Par exemple disons que la table [Invoices] contient deux factures dont le montant est "123,34" et "123,00". La recherche ci-dessous retournera les deux enregistrements : CHERCHER ([Invoices];[Invoices]Amount%"123") Pourquoi? Parce que toutes les ponctuations sont traitées comme des séparateurs pour déterminer ce qu'est un "mot". Dans l'exemple ci-dessus, il y a deux "mots" c'est-à-dire "123" et les centimes, c'est-à-dire "34". La recherche retourne deux enregistrements parce que évidemment "123" correspond à un des mots dans la chaîne à tester. La recherche par mot-clés n'est probablement pas l'outil idéal pour tester la monnaie. De même, disons que vous voulez trouver tous les clients avec le nom "Smith-Doe" : CHERCHER ([Customers];[Customers]Lastname%"Smith") Cette requête trouvera tous les clients qui se nomment "Smith-Doe" car le tiret est un séparateur. Mais elle trouvera aussi tous les clients dont le nom est "Smith", "Smith Van Helsing", etc. Comment peut-on éviter cela? La recherche multi-mot-clés 4 / 7

Vous ne pouvez pas chercher plus d'un mot-clé à la fois avec l'opérateur "%". Par exemple, imaginons un enregistrement contenant la chaîne "The quick brown fox" et sur lequel la requête suivante est faite : CHERCHER ([TableTest];[TableTest]theRecord%"brown fox") Aucun enregistrement ne sera trouvé sur le champ indexé en mot-clé. L'opérateur "%" ne supporte pas plusieurs mots dans le motif de recherche. Dans ce cas une recherche composée doit être utilisée : CHERCHER ([TableTest];[TableTest]theRecord%"brown";*) CHERCHER ([TableTest]];&;[TableTest]theRecord%"fox") Les nouvelles fonctionnalités sur le Regex de 4D v11 SQL peuvent aussi être utilisées pour réussir la recherche en une fois (il y a un exemple dans la section Regex). Sensibilité à la casse ou diacritique L'opérateur "%" n'est sensible ni à la casse ni diacritique. Voici quelques exemples : Ces chaînes sont-elles équivalentes? BROWN FOX brown Vrai Brown Fox BROWN Vrai Piñata pinata Vrai Jocker L'opérateur "%" supporte le caractère jocker de 4D, "@" à la fin d'un mot-clé. Par exemple : Ces chaînes sont-elles équivalentes? Brown Fox brown@ vrai Brown Fox bro@ vrai Brown Fox own@ Faux L'utilisation du caractère @ à la fin d'un mot signifie : la recherche fonctionne avec n'importe quel mot qui commence par la chaine spécifiée. Support des Regex 4D v11 SQL supporte les expressions régulières à travers la commande Trouver regex. Par rapport à la recherche par mots-clés, les regex permettent au développeur de spécifier strictement ce que constitue un "mot". Voici un des exemples précédents qui pourrait être amélioré avec les regex : 5 / 7

CHERCHER ([TableTest];[TableTest]theRecord%"brown";*) CHERCHER ([TableTest];&;[TableTest]theRecord%"fox") Une recherche équivalente, en utilisant les regex, serait : $match:=trouver regex (".* brown fox";[tabletest]therecord)) En utilisant les regex, le motif ".* brown fox" est utilisé pour essayer de trouver le texte qui correspond dans la chaîne "The quick brown fox. Le motif regex signifie : quelque soit le nombre de caractères, suivi par un espace et finissant par "brown fox" L'astuce des regex est, bien sûr, de les utiliser avec des motifs corrects. Pour plus d'informations sur les regex, voir la note technique référence 4D-200803-06-FR "Introduction aux expressions régulières (REGEX) dans 4D v11 SQL". Evidemment, les exemples ci-dessus ne sont pas strictement équivalents. Le premier exemple lance une recherche tandis que le second fait simplement une comparaison. L'exemple regex nécessiterait d'être utilisé dans une boucle sur tous les enregistrements de façon à fonctionner comme une recherche. L'avantage ici n'est pas la performance mais bien le contrôle strict au niveau de la recherche. Performance Voici un test de performance : Mise en place : Création d'une base avec 1 table et 2 champs texte. Un de ces champs a un index mots-clés, l'autre non. Création de 10 enregistrements. Les données texte viennent de pages Wikipedia prises au hasard (en utilisant le lien "random article"). Les deux champs contiennent les mêmes données. Puis nous avons dupliqué ces enregistrements de façon à obtenir 50 000 enregistrements dans la table. Nous sommes arrivés à 1,5 Go de données. La machine de test était un MacBook Pro, 2,33 GHz Intel Core 2 Duo, 2Go RAM, tournant sous Mac OS X 10.4.10. Tests Les tests suivants ont été faits : Test 1 : Recherche par mots-clés sur le champ indexé mots-clés : CHERCHER([Table_1];[Table_1]ChampTexteIndexé%"maya") 6 / 7

Test 2 : Recherche par mots-clés sur le champ non-indexé CHERCHER ([Table_1];[Table_1]ChampTexteNonIndexé%"maya") Test 3 : Recherche avec jockers sur le champ indexé mots-clés : CHERCHER ([Table_1];[Table_1]ChampTexteIndexé="@maya@") Test 4 : Recherche avec jockers sur le champ non-indexé CHERCHER ([Table_1];[Table_1]ChampTexteNonIndexé="@maya@") Le temps d'exécution pour chaque requête a été récupéré, ainsi que le nombre d'enregistrements trouvés. Enfin, chaque test a été répété dix fois. Résultats Les temps d'exécution sont en millisecondes et sont la moyenne des 10 répétitions. Tests Enregistrements trouvés Temps (ms) mots-clés sur champ indexé 2443 0,3 mots-clés sur champ non-indexé 2443 9 640,6 avec jockers sur champ indexé 2443 19 255,0 avec jockers sur champ non-indexé 2443 18 765,2 Comme vous pouvez le voir, c'est un énorme bénéfice d'utiliser à la fois la recherche par mot-clés (à la place des jockers) avec l'index des mots-clés. Conclusion Cette note technique décrit la fonctionnalité des mots-clés dans 4D v11 SQL. Avec les nouveaux index de mots-clés et l'opérateur de recherche par mots-clés, un énorme gain en rapidité peut être fait lorsque vous cherchez des données texte. Si un contrôle plus précis est requis pour la recherche, la fonctionnalité des regex peut être utilisée. Ces nouveautés fournissent au développeur 4D de puissants outils. 7 / 7