2017-07-13 4 views
0

Je rencontre un problème lors de l'exécution d'une requête elasticsearch en production dans laquelle les résultats de la requête sont incohérents. En particulier, j'ai un scénario où j'utilise la pagination en utilisant de/à comme fourni par ES. Nous sommes dans un scénario où, lorsque nous exécutons une requête, nous n'obtenons pas de résultat attendu. Cependant, si nous exécutons la requête exacte une deuxième fois, nous obtenons le résultat attendu. Cette incohérence entraîne des problèmes de niveau de production pour nos clients.Résultats Elasticsearch incohérents avec requête de grande taille

J'utilise un ordre de tri basé sur une valeur de champ qui est déterminée lorsque le document est indexé afin de garantir la cohérence de la pagination. Est-ce que quelqu'un a une idée de ce qui se passerait?

Toute aide serait appréciée.

Merci

+0

Désolé, je n'ai pas votre explication, mais je ne voudrais pas utiliser 'from' pour la pagination, essayez avec l'API de défilement: https://www.elastic.co/guide/en /elasticsearch/reference/2.3/search-request-scroll.html –

+0

'from .. size' devrait fonctionner en général, pouvez-vous s'il vous plaît fournir quelques détails comme votre mappage d'index et les requêtes réelles que vous faites? Le plus génial serait s'il est possible de répliquer sur certaines données d'échantillon publiques. Pouvez-vous s'il vous plaît également fournir des détails sur votre déploiement, comme combien sert, nombre de répliques, etc. Merci. –

Répondre

0

Découvrez la coutume preference setting dans une requête de recherche. Si vous utilisez l'identifiant de session d'un client Web, vous pouvez vous assurer que vous frappez les mêmes fragments dans les requêtes suivantes.

Voir aussi la definitive guide