Je suis nouveau dans le monde de l'elasticsearch.Interroger un doc complexe dans elasticsearch Elasticsearch
Nous traitons notre projet avec des documents complexes que nous stockons dans notre base de données elasticsearch.
Ceci est une partie de notre doc:
{
"AAA":[
{
"SSS":{
"Description":{
"Detail":[
{
"Name":"A9",
"Infos":"...."
},
{
"Name":"A8",
"Infos":"...."
},
{
"Name":"A7",
"Infos":"...."
},
{
"Name":"A6",
"Infos":"...."
},
{
"Name":"A5",
"Infos":"...."
},
{
"Name":"A4",
"Infos":"...."
},
{
"Name":"A3",
"Infos":"...."
},
{
"Name":"A2",
"Infos":"...."
},
{
"Name":"A1",
"Infos":"...."
}
]
}
}
}
]
}
Je veux une requête qui renvoie les « Infos » & « Nom » champs spécifiques à "Name":"A1"
pour example.I ne veulent pas afficher toutes les tables de détails d'objet JSON mais juste l'objet qui "Name":"A1"
. En d'autres termes, je veux une requête qui renvoie cette partie du doc:
{
"AAA":[
{
"SSS":{
"Description":{
"Detail":[
{
"Name":"A1",
"Infos":"...."
}
]
}
}
}
]
}
J'utilise ElasticSearch 5.4 Ceci est la mise en correspondance J'utilise:
{
"mappings":{
"-----":{
"properties":{
"AAA":{
"type":"nested",
"properties":{
"SSS":{
"properties":{
"Description":{
"properties":{
"Detail":{
"type":"nested",
"properties":{
"Infos":{
"type":"keyword"
},
"Name":{
"type":"keyword"
}
}
}
}
}
}
}
}
}
}
}
}
}
Ce sont deux questions que j'ai essayé mais cela n'a pas fonctionné:
GET /******/******/_search
{
"_source":["AAA.SSS.Description.Detail.Name","AAA.SSS.Description.Detail.Infos"],
"query": {
"query_string" : {
"default_field" : "AAA.SSS.Description.Detail.Name",
"query" : "A1"
}
}
}
GET /******/******/_search
{
"_source":["AAA.SSS.Description.Detail.Name","AAA.SSS.Description.Detail.Infos"],
"filter": [
{ "term": { "AAA.SSS.Description.Detail.Name": "A1" }}
]
}
J'essaie toute la journée et cela n'a pas fonctionné pour moi. Quelqu'un peut-il m'aider. Merci d'avance.
Votre 'AAA.SSS.Detail' Le champ n'est probablement pas imbriqué. Vous devriez lire ceci et vous aurez une idée de comment le faire fonctionner: https://www.elastic.co/guide/en/elasticsearch/reference/current/nested.html – Val
Ceci est la cartographie que j'utilise: "correspondances": { "-----": { "propriétés": { "AAA": { "type": "imbriqué", "propriétés": { "SSS": { "propriétés": { "description": { "propriétés": { "Détail": { "type": "imbriqués", "propriétés": { "Infos": { "type" : "mot-clé"}, "Nom": { "type": "mot-clé"}, }} }} }} }} }} } –
Pouvez-vous montrer ce que vous avez essayé requêtes à ce jour? – Val