Un QueryProcessor définit une règle d'analyse des requêtes pour une application OpenSearch. Il spécifie les processeurs à appliquer, les index ciblés par la règle et indique si celle-ci est la règle par défaut active.
Structure
{
"name": "qp_lsh_test_1",
"domain": "GENERAL",
"processors": [{
"name": "stop_word",
"use_system_dictionary": true,
"intervention_dictionary": ""
}],
"indexes": [
"default"
],
"active": true
}
| Champ | Type | Description |
|---|---|---|
name |
String | Nom de la règle d'analyse des requêtes. Peut contenir des lettres minuscules, des chiffres et des traits de soulignement (_). Doit commencer par une lettre minuscule. Longueur maximale : 16 caractères. |
domain |
String | Domaine sectoriel auquel s'applique la règle. Valeurs valides : GENERAL, ECOMMERCE, IT_CONTENT. |
processors[] |
Object | Processeurs à appliquer dans cette règle. Chaque entrée est un objet Processor. Consultez la section Processor ci-dessous. |
indexes |
Array | Index auxquels s'applique cette règle. |
active |
Boolean | Indique si cette règle est la règle d'analyse des requêtes par défaut. |
Processor
Un processeur définit une fonctionnalité unique d'analyse des requêtes ainsi que sa configuration.
OpenSearch prend en charge six types de processeurs :
| Nom du processeur | Fonctionnalité |
|---|---|
stop_word |
Filtrage des mots vides |
spell_check |
Correction orthographique |
term_weighting |
Analyse de la pondération des termes |
synonym |
Configuration des synonymes |
category_prediction |
Prédiction de catégorie — voir Category prediction |
ner |
Reconnaissance d'entités nommées (NER) — voir NER |
Champs
{
"name": "stop_word",
"use_system_dictionary": true,
"intervention_dictionary": ""
}
| Champ | Type | Description |
|---|---|---|
name |
String | Type de processeur. Valeurs valides : stop_word, spell_check, term_weighting, synonym, category_prediction, ner. |
use_system_dictionary |
Boolean | Indique s'il faut utiliser les dictionnaires intégrés. |
intervention_dictionary |
String | Nom du dictionnaire d'intervention. Laissez ce champ vide si cela ne s'applique pas. |
Category prediction
Utilisez le processeur category_prediction pour appliquer un modèle de prédiction de catégorie entraîné.
Champs
{
"name": "stop_word",
"categoryPrediction": 12345,
"projectId": 12346
}
| Champ | Type | Description |
|---|---|---|
name |
String | Doit être category_prediction. |
categoryPrediction |
Integer | ID du modèle de prédiction de catégorie. |
projectId |
Integer | ID du projet algorithmique. |
NER
Utilisez le processeur ner pour appliquer la reconnaissance d'entités nommées (NER) et contrôler la priorité des types d'entités reconnues.
Champs
{
"name": "stop_word",
"use_system_dictionary": true,
"intervention_dictionary": "",
"priorities": [{
"priority": "HIGH",
"tag": "test",
"order": 1
}]
}
| Champ | Type | Description |
|---|---|---|
name |
String | Doit être ner. |
use_system_dictionary |
Boolean | Indique s'il faut utiliser les dictionnaires intégrés. |
intervention_dictionary |
String | Nom du dictionnaire d'intervention. Laissez ce champ vide si cela ne s'applique pas. |
priorities[] |
Object | Paramètres de priorité pour les types d'entités. |
priorities[].priority |
String | Niveau de priorité. Valeurs valides : HIGH, MIDDLE, LOW. |
priorities[].tag |
String | Nom interne du type d'entité. |
priorities[].order |
Integer | Rang au sein des types d'entités partageant le même niveau de priorité. Une valeur plus faible indique une priorité plus élevée. Par défaut : 0. |