Requêtes supportées Zend_Search_Lucene et Lucene Java supportent un langage de requête puissant. Il permet de rechercher des termes individuels, des phrases, des ensembles de termes ; en utilisant des jokers ou des recherches floues ; en combinant des requêtes à l'aide d'opérateurs booléens et ainsi de suite. Une description détaillée du langage de requête peut être trouvé dans la documentation du composant Zend_Search_Lucene. Ci-dessous, des exemples de quelques requêtes types communes et de stratégies. Effectuer une requête pour un mot seul Recherche le mot "hello" à travers les champs de tous les documents. Champ de recherche par défaut Note importante ! Lucene Java recherche uniquement dans les champs de "contenu" par défaut, mais Zend_Search_Lucene recherche à travers tous les champs. Ce comportement peut être modifié en utilisant la méthode Zend_Search_Lucene::setDefaultSearchField($fieldName). Effectuer une recherche de mots multiples Recherche deux mots. Les deux mots sont facultatifs, au moins l'un des deux doit être présent dans le résultat Mots requis dans une requête Recherche deux mots ; "hello" est requis, "dolly" est facultatif. Interdire des mots dans les documents recherchés Recherche avec deux mots ; "hello" est requis, 'dolly' est interdit. En d'autres termes, si le document contient "hello", mais contient aussi le mot "dolly", il ne sera pas retourné dans l'ensemble de résultats. Rechercher des phrases Recherche de la phrases "hello dolly" ; un document correspond uniquement si la chaine exacte est présente. Effectuer des recherches dans des champs en particulier Recherche la phrase "The Right Way" au sein du champ title et le mot "go" dans la propriété text. Effectuer des recherches dans des champs en particulier aussi bien que dans le document complet Recherche la phrase "The Right Way" dans la propriété title et le mot "go" dans tous les champs du document. Effectuer des recherches dans des champs en particulier aussi bien que dans le document complet (Alternatif) Recherche le mot "Do" dans la propriété title et les mots "it" and "right" dans tous les champs ; si l'un d'entre eux correspond, le document correspondra à un résultat de recherche. Faire des requêtes avec le joker "?" Recherche les mots correspondants au motif "te?t", où "?" est n'importe quel caractère unique. Faire des requêtes avec le joker "*" Recherche les mots correspondants au motif "test*", où "*" est n'importe quelle séquence de 0 caractère ou plus. Rechercher une gamme inclusive de termes Recherche la gamme de termes (inclusif). Rechercher une gamme exclusive de termes Recherche la gamme de termes (exculsif). Recherches floues Recherche foue pour le mot "roam". Recherches booléennes Requête booléenne. Toutes les requêtes supportées peuvent être construites via l'API de construction de requêtes de Zend_Search_Lucene. De plus l'analyse et la construction de requêtes peuvent être combinées : Combinaison d'analyse et de construction de requêtes addSubquery($userQuery, true /* required */); $query->addSubquery($constructedQuery, true /* required */); ]]>