1

L'exemple est extrait de référence ElasticSearch: https://www.elastic.co/guide/en/elasticsearch/reference/5.3/nested.htmlElasticSearch: tableaux de correspondance d'objets imbriqués

Mon indice est semblable à cela. La seule différence est user.first et user.last sont mot-clé tapez donc je peux utiliser filtre sur eux.

PUT my_index 
{ 
    "mappings": { 
    "my_type": { 
     "properties": { 
     "user": { 
      "type": "nested" 
     } 
     } 
    } 
    } 
} 

PUT my_index/my_type/1 
{ 
    "group" : "fans", 
    "user" : [ 
    { 
     "first" : "John", 
     "last" : "Smith" 
    }, 
    { 
     "first" : "Alice", 
     "last" : "White" 
    } 
    ] 
} 

Quelle est la question que je devrais utiliser pour obtenir des documents qui correspondent au tableau ci-dessus (exactement deux éléments, un élément est John Smith, un article est blanc Alice) dans deux situations:

  1. Commander n'a pas d'importance
  2. Ordre importe

Répondre

0

Après la recherche, la meilleure façon d'obtenir ordre n'a pas d'importance est: l'indexation d'un champ Nombre.

Voir: Elasticsearch Equal Exactly

La raison en est:

En ElasticSearch, il n'y a pas de type tableau dédié. N'importe quel champ peut contenir zéro ou plusieurs valeurs par défaut, cependant, toutes les valeurs dans le tableau doivent être du même type de données.