Я хочу определить индекс, который имеет массив вложенных типов. Однако всякий раз, когда я вставляю документ, я не могу получить никаких результатов, выполняющих вложенный запрос.Как сопоставить массив вложенных типов
У меня есть следующее отображение определено:
curl -XPUT http://localhost:9200/test/product/_mapping -d '{
"product": {
"properties": {
"properties": {
"type": "nested"
}
}
}
}'
Но когда я добавить элемент:
curl -XPUT http://localhost:9200/test/product/1432008 -d '{
"properties": [
{
"data_type": 0,
"id": 19,
"name": "Vendor",
"value": "TEST TEST",
"value_id": 16577846
}
]
}'
я получаю следующее:
{
"test": {
"product": {
"properties": {
"properties": {
"type": "nested",
"properties": {
"data_type": {
"type": "long"
},
"id": {
"type": "long"
},
"name": {
"type": "string"
},
"value": {
"type": "string"
},
"value_id": {
"type": "long"
}
}
}
}
}
}
}
Что на самом деле выглядит правильно. Однако я получаю 0 обращений за:
curl -XGET http://localhost:9200/test/product/_search -d '
{
"query": {
"filtered": {
"query": {"match_all": {}},
"filter": {
"nested": {
"path": "properties",
"query":{
"filtered": {
"query": { "match_all": {}},
"filter": {
"and": [
{"term": {"properties.name": "vendor"}},
{"term": {"properties.value": "test test"}}
]
}
}
}
}
}
}
}
}'
Кто-нибудь знает, что я делаю неправильно?