Tous les produits
Search
Centre de documentation

OpenSearch:Clause de requête

Dernière mise à jour :Aug 19, 2026

La clause de requête est obligatoire dans toute demande de recherche. Elle définit les termes recherchés et le champ d'index ciblé. Combinez plusieurs conditions à l'aide d'opérateurs logiques pour élaborer des requêtes complexes.

Par exemple, combinez les champs title et subject de type TEXT pour créer le champ d'index composite default. Recherchez ensuite via le champ d'index default afin de récupérer les documents dont le champ title ou subject contient les termes de recherche.

Vous pouvez aussi utiliser uniquement le champ title pour créer le champ d'index title_search. Les recherches effectuées sur le champ d'index title_search ne renvoient que les documents dont le champ title contient les termes de recherche.

Syntaxe

Une clause de requête adopte l'une des formes suivantes :

Type de requête Syntaxe
Recherche par mot-clé index:'<search query>' ^ boost
Recherche géographique par plage index:'circle (<longitude>, <latitude>, <radius>)'
Recherche numérique par plage index:[<value1>, <value2>]

Paramètres

Paramètre Type Obligatoire Description
index String Oui Champ d'index ciblé par la recherche. Configuré lors de la définition du schéma d'index.
search query String Oui Terme ou expression à rechercher. Placez-le entre guillemets simples (') ou doubles ("").
boost INT Non Pondération de pertinence de la condition de requête. Valeurs valides : 0–99. Par défaut : 99. Les valeurs inférieures à 0 sont traitées comme 0 ; les valeurs supérieures à 99 sont traitées comme 99. Ce paramètre prend effet uniquement si exact_match_boost() est configuré dans une expression de tri approximatif.

Opérateurs logiques

Combinez plusieurs conditions de requête à l'aide des opérateurs suivants. Tous les opérateurs doivent être en majuscules.

Opérateur Logique Priorité (de la plus faible à la plus élevée) Exemple
RANK Les documents correspondant à la seconde condition sont classés plus haut 1 (la plus faible) title:'cloud' RANK title:'search'
OR L'une ou l'autre condition doit correspondre 2 title:'cloud' OR title:'search'
AND Les deux conditions doivent correspondre 3 title:'cloud' AND type:'1'
ANDNOT La première condition doit correspondre ; les documents correspondant à la seconde sont exclus 4 title:'cloud' ANDNOT title:'storage'
() Regroupement — évalué en premier 5 (la plus élevée) (title:'a' OR title:'b') AND type:'1'

Le caractère | est une forme alternative de OR :

query=title:'Peking University'|'Zhejiang University'

Requêtes de phrase

Placez la requête de recherche entre guillemets doubles pour effectuer une requête de phrase. Dans ce type de requête, tous les termes restent connectés et conservent leur ordre initial avant et après l'analyse.

query=title:"Peking University"

Cette opération renvoie uniquement les documents dont le titre contient l'expression « Peking University ». Les documents contenant « University in Beijing » ne sont pas renvoyés.

Exemples

Recherche sur un seul champ

query=title:'Peking University'

AND : les deux conditions doivent correspondre

query=title:'Peking University' AND title:'Zhejiang University'

OR avec AND : conditions mixtes

query=(title:'Peking University' OR title:'Zhejiang University') AND type:'1'

ANDNOT avec RANK : exclusion et pondération

query=(title:'Peking University' ANDNOT title:'Tsinghua') RANK title:'Principal'
// Fine sort expression: text_relevance(title)

Les documents dont le titre contient « Peking University » mais pas « Tsinghua » sont renvoyés. Parmi eux, ceux dont le titre contient également « Principal » sont classés plus haut.

Recherche sur un champ d'index de type ARRAY

// arr_index_1 is an index built on an INT ARR field.
// Returns documents where arr_index_1 contains the value 1.
query=arr_index_1:'1'

Notes d'utilisation

  • La clause de requête est obligatoire et ne peut pas être vide.

  • Placez les requêtes de recherche entre guillemets simples (') ou doubles (""). L'absence de guillemet provoque une erreur de requête ou des résultats inattendus.

  • Seuls les champs TEXT et SHORT_TEXT peuvent être combinés pour créer un index composite.

  • Pour savoir comment les termes sont analysés et tokenisés, consultez la rubrique Analyseur intégré.

  • Pour les requêtes géographiques et numériques par plage, consultez la rubrique Recherche par plage.