web-dev-qa-db-fra.com

Que signifie / fait le percolateur dans elasticsearch?

Même si j'ai lu la documentation d'Elasticsearch pour comprendre ce qu'est un percolateur. J'ai encore du mal à comprendre ce que cela signifie et où il est utilisé en termes simples. Quelqu'un peut-il me fournir plus de détails?

63
Hossein

Ce que vous faites habituellement, c'est indexer les documents et les récupérer en les interrogeant. Ce que le percolateur vous permet de faire en un mot, c'est d'indexer vos requêtes et de percoler des documents par rapport aux requêtes indexées pour savoir à quelles requêtes elles correspondent. Cela s'appelle également la recherche inversée, car ce que vous faites est l'opposé de ce à quoi vous êtes habitué.

Il existe différents cas d'utilisation pour le percolateur, le premier étant toute plate-forme qui stocke les intérêts des utilisateurs afin d'envoyer le bon contenu aux bons utilisateurs dès qu'il entre.

Par exemple, un utilisateur s'abonne à un sujet spécifique, et dès qu'un nouvel article pour ce sujet arrive, une notification sera envoyée aux utilisateurs intéressés. Vous pouvez exprimer les intérêts des utilisateurs sous la forme d'une requête elasticsearch, en utilisant query DSL , et vous pouvez l'enregistrer dans elasticsearch car il s'agissait d'un document. Chaque fois qu'un nouvel article est publié, sans avoir besoin de l'indexer, vous pouvez le percoler pour savoir quels utilisateurs s'y intéressent. À ce stade, vous savez qui doit recevoir une notification contenant le lien de l'article (l'envoi de la notification n'est cependant pas effectué par elasticsearch). Une étape supplémentaire consisterait également à indexer le contenu lui-même, mais ce n'est pas obligatoire.

Jetez un œil à cette présentation pour voir d'autres cas d'utilisation et d'autres fonctionnalités disponibles en combinaison avec le percolateur à partir d'elasticsearch 1.0.

99
javanna

En termes simples percolator fait ceci:

tilisateur: Hé Percolateur! Comment pouvez vous m'aider?

Percolateur: Utilisateur Hai! Je peux vous aider à recevoir les alertes de vos intérêts.

tilisateur: C'est super! Que devrais-je faire ensuite?

Percolateur: Veuillez me faire part de vos intérêts sous forme de requêtes indexées dans Elasticsearch.

tilisateur: J'ai préparé tous mes intérêts en tant que requêtes et les ai indexés dans Elasticsearch. C'est aussi simple que ça?

Percolateur: Oui! C'est aussi simple que ça! Je surveillerai tous les documents entrants et vous répondrai avec les documents s'ils correspondent à l'un de vos intérêts (requêtes)!

tilisateur: C'est génial! Je suis simplement curieux et je veux savoir comment savoir quels documents correspondent à mes intérêts.

Percolateur: C'est une bonne question! La réponse est très simple! Vous aviez indexé vos intérêts en tant que requêtes dans Elasticsearch, n'est-ce pas? Je les utilise et exécute toutes ces requêtes (pas exactement toutes mais pour simplifier supposons tout) contre les documents entrants (ces documents n'ont pas besoin d'être indexés et peuvent être simplement envoyés pour percolation!). En fait, ce processus est appelé percolation! Si un document correspond à l'une de vos requêtes, j'enverrai ce résultat au client (cela pourrait être vous aussi)!

18
avr