Syntaxe des arguments de recherche
>>-+----------------------+--+-------------------------+--------> '-RESULT LIMIT--nombre-' '-EXPANSION LIMIT--nombre-' >--+------------------------------------------+-----------------> '-STOP SEARCH AFTER--nombre--+-DOCUMENT--+-' '-DOCUMENTS-' >--+-| expression-recherche-booléenne |-+---------------------->< '-| argument-texte-libre |-----------' Expression-recherche-booléenne: |--+-| terme-recherché |-------------------------------------------------------+--| '-| expression-recherche-booléenne |--| opérateur-or |--| terme-recherché |-' terme-recherché: |--+-| facteur-recherche |---------------------------------------------------+--| +-| terme-recherché |--| opérateur-and |--| facteur-recherche |-----------+ +-| terme-recherché |--| opérateur-accum |--| facteur-recherche |---------+ '-| terme-recherché |--| opérateur-minus |--| facteur-recherche-positif |-' Facteur-recherche: |--+-----+--| facteur-recherche-positif |-----------------------| '-NOT-' Facteur-recherche-positif: |--+-+-----------------------------------------------------------+--| recherche-primaire |-+--| | | .-,---------------------------------. | | | | V | | | | '-+-SECTION--+--(----"nom-section"--+----------------+-+--)-' | | '-SECTIONS-' '-WEIGHT--nombre-' | '-facteur-attribut----------------------------------------------------------------------' Recherche-primaire: |--+-| littéral-texte |-----------------------+-----------------| +-| condition-contexte |-------------------+ +-| invocation-thésaurus |-----------------+ +-(--| expression-recherche-booléenne |--)-+ '-(--| liste-littéraux-texte |--)----------' Opérateur-and: |--&------------------------------------------------------------| Opérateur-or: |--|------------------------------------------------------------| Opérateur-accum: |--ACCUM--------------------------------------------------------| Opérateur-minus: |--MINUS--------------------------------------------------------| Condition-contexte: |----| argument-contexte |--| IN-SAME |--| unité-contexte |--| AS |--| argument-contexte |----> >--+--------------------------------+---------------------------| | .----------------------------. | | V | | '---AND--| Argument-contexte |-+-' Argument-contexte: |--+-| littéral-texte |--------------+--------------------------| +-(--| liste-littéraux-texte |--)-+ '-| invocation-thésaurus |--------' Liste-littéraux-texte: .-,--------------. V | |----littéral-texte-+-------------------------------------------| Unité-contexte: |--+-PARAGRAPH-+------------------------------------------------| '-SENTENCE--' Littéral-texte: |--+------------------------------------------+-----------------> +-PRECISE-FORM-OF--------------------------+ +-STEMMED-FORM-OF--------------------------+ '-FUZZY-FORM-OF--+-----------------------+-' '-niveau-correspondance-' >--+----------------+--"mot-ou-expression"----------------------> '-WEIGHT--nombre-' >--+---------------------------------+--------------------------| '-ESCAPE--"caractère-échappement"-' invocation-thésaurus: |--THESAURUS--"nom-thésaurus"--EXPAND---------------------------> >--+-+-SYNONYM------------+--TERM OF--| littéral-texte |--------------------+--| | +-RELATED------------+ | | '-RELATION--(nombre)-' | '-+-BROADER--+--TERM OF--| littéral-texte |--+-------------------------+-' '-NARROWER-' '-FOR--nombre--+-LEVEL--+-' '-LEVELS-' Facteur-attribut: |--ATTRIBUTE--"nom-attribut"------------------------------------> >--+-BETWEEN--valeurDe AND valeurA-+----------------------------| +->--valeurDe-------------------+ '-<--valeurA--------------------' argument-texte-libre: |--IS-ABOUT--+--------+--"mot-ou-expression"--------------------> '-langue-' >--+---------------------------------+--------------------------| '-ESCAPE--"caractère-échappement"-'
Exemples
Des exemples figurent à la section Spécification des arguments de recherche SQL.
Paramètres de recherche
L'argument RESULT LIMIT doit être utilisé avec la fonction SCORE pour garantir l'évaluation des résultats renvoyés et le traitement des meilleurs résultats uniquement.
Notez qu'il n'y a pas de valeur par défaut et que la valeur de nombre doit être un entier positif.
"Pilote" MINUS "passager" & "véhicule" | "transport" & "public"
est évalué comme :
(("Pilote" MINUS "passager") & ("véhicule")) | ("transport" & "public")
L'opérateur correspond à la valeur true, si l'un des arguments booléens correspond à cette même valeur (qui est comparable à l'opérateur OR). La valeur de rang est calculée en accumulant les valeurs de rang des deux opérandes. L'opérateur ACCUM a la même liaison (priorité) que AND. L'opérateur MINUS correspond à la valeur true, si l'opérande de gauche correspond à la même valeur. La valeur de rang est calculée en prenant la valeur de rang de l'opérande de gauche et en soustrayant une pénalité, si l'opérande de droite correspond à la valeur true.
Mot clé spécifiant une ou plusieurs sections dans un document structuré sur la ou lesquelles la recherche doit se limiter. Le nom de la section doit être spécifié dans un fichier modèle au moment de la création de l'index. Reportez-vous à la section CREATE INDEX.
Les noms de section font la distinction majuscules-minuscules. Assurez-vous que le nom de la section dans le fichier modèle est identique à celui de la requête.
Ce modèle décrit la structure des documents qui contiennent les sections identifiables, de telle sorte que des recherches peuvent être effectuées individuellement dans le contenu de ces sections. Les noms de section ne peuvent pas contenir de caractères génériques. Le facteur-recherche-positive utilisant la clause SECTION correspond à la valeur true, si la recherche primaire se trouve dans l'une des sections.
La condition est évaluée à true, si une unité-contexte se trouve dans le document (paragraphe, respectivement phrase) qui contient au moins l'un des littéraux texte de chaque argument-contexte développé, comme le montre l'exemple suivant :
("a","b") IN SAME PARAGRAPH AS ("c","d") AND THESAURUS "t1" EXPAND SYNONYM TERM OF "e".
Si l'on présume que e1, e2 sont synonymes de e, les paragraphes suivants correspondent :
".. a c e .." , ".. a c e1..", "a c e2..", ".. a d e .." , ".. a d e1..", "a d e2..", ".. b c e .." , ".. b c e1..", "b c e2..", ".. b d e .." , ".. b d e1..", "b d e2..".
La façon dont les mots sont réduits à leur racine dépend de la langue. Actuellement, seule la langue anglaise est prise en charge et le mot doit respecter les terminaisons standard.
Pour rechercher une chaîne de caractères contenant des guillemets, saisissez les guillemets deux fois. Par exemple, pour rechercher le texte caractère "générique", tapez :
"caractère ""générique"""
Notez que dans l'exemple, il n'est possible de rechercher qu'un seul ensemble de guillemets. Il n'est pas possible de rechercher deux guillemets dans une séquence. La longueur de chaque mot ou expression est également limitée à 128 octets.
Lors de la recherche, vous ne pouvez utiliser que des caractères mono-octets. Aucun caractère à deux octets n'est autorisé.
Pour les relations définies par l'utilisateur, utilisez RELATION(nombre) qui correspond à la définition de relation dans DB2TEXTTH.
Littéral texte auquel d'autres termes de recherche doivent être ajoutés du thésaurus.
Mot clé utilisé pour spécifier le nombre de niveaux (la profondeur) des termes du thésaurus, utilisés pour étendre la recherche pour une relation donnée. Si ce mot clé n'est pas spécifié, un nombre égal à 1 est présumé. La valeur de profondeur doit être un entier positif.
Le facteur-attribut est autorisé pour les attributs de type DOUBLE uniquement. La précision de la valeur est garantie jusqu'à 15 chiffres. Les nombres de 16 chiffres et plus sont arrondis. L'utilisation de caractères génériques n'est pas autorisée dans nom-attribut, valeurDe et valeurA. Pour plus d'informations, reportez-vous à ce qui suit :
Si le nom de l'attribut dans la commande CREATE INDEX est spécifié avec des guillemets ou est défini dans un fichier modèle, le nom de l'attribut spécifié doit correspondre exactement. En revanche, si aucun guillemet n'est spécifié dans la commande CREATE INDEX, le nom de l'attribut doit être en majuscules.
Les valeurs autorisées pour la langue sont décrites à l'Annexe E, Langues prises en charge et ne s'appliquent qu'à la langue Thaï. Si elle n'est pas spécifiée, la langue en_US est utilisée par défaut. La langue est utilisée uniquement pour la tokenisation du mot ou de l'expression.
Notez que l'argument IS ABOUT est utile uniquement si les valeurs des scores sont demandées et que les résultats de la recherche sont triés par valeur de score.