2016-02-09 2 views
0

Quelqu'un peut-il me dire sur quelle base nous devrions sélectionner quel objet entité java devrait de type "INDEX" dans elasticsearch et quel objet devrait être de type "TYPE" ??ElasticSearch Indexing - Sélection d'objets Java pour l'indexation?

Ayons objet 1, 2, 3

objet 1 a la liste des objets 2. L'objet 3 est un autre objet distinct.

Dans ce cas, qui devrait être « INDEX » et qui devrait être « TYPE »

Répondre

0

Cela dépend en fait de vous. Vous pouvez créer un index séparé pour tous les domaines ou vous pouvez créer index avec le nom de votre application ou quelque chose. Ensuite, vous pouvez définir des types à l'intérieur qui contiendra des domaines de votre application.

Selon votre cas, vous pouvez définir Object1 et Object3 comme type. Étant donné que Object2 est contenu dans Object1, vous devrez le définir comme zone object ou nested dans le type Object1.

SO votre architecture serait comme

Name Of Index: indexName

indexName Types: object1 et object3

object1 aura nested ou object FieldType de object2.

étapes seraient ..

  • PUT /indexName
  • PUT indexName/object1/_mapping { "properties": { "object2": { "type": "nested" //this can be "object" as well } } }
  • PUT indexName/object3/_mapping { "properties": { ... } }

Hope this helps

+0

Ce qui est bon? Avoir comme objet imbriqué ou simplement comme un autre élément interne – user2526641

+0

Cela dépend de vos besoins. Lisez la différence entre les deux sur https://www.elastic.co/blog/managing-relations-inside-elasticsearch pour voir lequel utiliser. – Richa