Gestion des synonymes, des mots neutres et des associations de termes de recherche
ZooKeeper est utilisé pour gérer plusieurs types de listes personnalisables de termes associés utilisés par la fonction de recherche. Les mots neutres sont supprimés de la requête avant son traitement. Les synonymes et les associations de termes de recherche (STA) implémentent des substitutions de catalogue pour les termes de requête de façon légèrement différente. Chaque liste personnalisée est accessible et vous pouvez modifier directement les mots neutres et les synonymes dans ZooKeeper.
Introduction
- La liste Mots neutres enregistre tous les mots qui doivent être filtrés hors de la requête de recherche avant que le traitement du langage naturel n'y soit appliqué. Cette liste contient généralement les mots les plus courants dans une langue (comme "le" en français).
- Les synonymes et les associations de termes de recherche élargissent la portée de la recherche et donc ses résultats en ajoutant des termes supplémentaires à ceux que le client soumet. Les résultats de la recherche incluent ceux du terme soumis, plus ceux des synonymes définis ou des STA pour ce terme. Bien qu'elles soient traitées de la même manière, il s'agit de listes distinctes générées par différents mécanismes. Le mécanisme de STA fournit une approche rétrocompatible dans laquelle les synonymes sont chargés directement à partir de la base de données. Le mécanisme de synonymes utilise ZooKeeper et est destiné à fournir plus d'options pour la gestion des associations dans l'environnement Elasticsearch.
JSON dans ZooKeeper, dans des dictionnaires spécifiques à la langue. Les sections suivantes décrivent la structure de ces dictionnaires et la façon dont vous pouvez interagir avec eux dans ZooKeeper à l'aide de l'API REST.Dictionnaire Mots neutres
Vous interagissez avec le dictionnaire Mots neutres à l'aide d'appels REST. Les appels autorisés sont GET, POST et PATCH. Par exemple, dans le cas d'un appel GET, le corps de la réponse contient un ensemble au format JSON des termes que vous appelez. Il n'y a pas d'appel DELETE explicite. Toutefois, vous pouvez simplement faire un appel POST avec un contenu vide pour supprimer un objet.
http://data_environment_hostname:30920/search/resources/api/v2/configuration?nodeName=environmentType_storeID_product_stopwords&locale=en_USOù environmentType est soit ou est :http://data_environment_hostname:30920/search/resources/api/v2/configuration?nodeName=environmentType_storeID_product_stopwords&locale=en_USOù le environmentType est un environnement de création ou de production. {
"the": "",
"and":""
}
"http://search_server:30920/search/resources/api/v2/configuration?nodeName&locale-en_USoù nodeName est l'espace de nom mis à plat pour l'index.Mise à jour des synonymes et des termes de remplacement
Vous pouvez également mettre à jour des synonymes et des termes de remplacement à l'aide de l'API REST de configuration du service Query. Les appels autorisés sont GET, POST et PATCH. Par exemple, dans le cas d'un appel GET, le corps de la réponse contient un ensemble au format JSON des termes que vous appelez. Il n'y a pas d'appel DELETE explicite. Toutefois, vous pouvez simplement faire un appel POST avec un contenu vide pour supprimer un objet.
http://data_environment_hostname:30920/search/resources/api/v2/configuration?nodeName=environmentType_storeID_product_sta&locale=en_USVotre réponse contiendra un ensemble de synonymes, comme dans l'exemple suivant.{
"couch, sofa": "" ,
"coff => coffee": "" ,
"driveway, road, street": "" ,
...} - expand = true
- lenient false
Pour plus d'informations sur l'ajustement du traitement des synonymes, voir Configurations liées aux synonymes.
Utilisation de STA
Les associations de termes de recherche sont fonctionnellement identiques aux synonymes et sont stockées au même format dans ZooKeeper. Les STA sont traités de la même manière par Elasticsearch que par Solr. Pour plus d'informations, voir Associations de termes de recherche. Les associations de termes de recherche (STA) d'Elasticsearch sont également générées à l'aide du même mécanisme que celles utilisées par le moteur de recherche Solr, plutôt que par le mécanisme d'appel REST utilisé pour les synonymes et les mots neutres. Le processus est que lorsqu'une STA est enregistrée dans , une mise à jour Near Realtime (NRT) est déclenchée et écrase la liste STA existante dans ZooKeeper par une nouvelle liste depuis la base de données.
Vous pouvez effectuer une opération Get pour vérifier les modifications.
{
"couch, sofa": ""
...
}