Можете мне помощь в коде у меня нет результат!!
всегда не может найти вложенный объект и можете объяснить разница object type и nested type
Тип object "рассплющивает" структуру при индексации и поэтому все внутриние объекты сливаются в один, nested object индексирует объекты как скрытые записи, что позволяет их искать по отдельности. Попробуйте запустить следующий пример и посмотреть, что происходит. Если мы используем object и первый и второй поиск вернет нам первую запись:
DELETE test
PUT test
{
"mappings": {
"properties": {
"title": {
"type": "text"
},
"author": {
"type": "object",
"properties": {
"first": {
"type": "text"
},
"last": {
"type": "text"
}
}
}
}
}
}
PUT test/_doc/1
{
"title": "В чем разница между nested и object?",
"author": [{
"first": "Sanzhar",
"last": "Kaiyrbek"
}, {
"first": "Igor",
"last": "Motov"
} ]
}
POST test/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"author.first": "Sanzhar"
}
},
{
"match": {
"author.last": "Kaiyrbek"
}
}
]
}
}
}
POST test/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"author.first": "Sanzhar"
}
},
{
"match": {
"author.last": "Motov"
}
}
]
}
}
}
А если мы воспользуемся nested (с соответствующим запросом nested), то второй запрос нам ничего не вернет, поскольку он ищет nested объекты по отдельности и у нас нет автора и именем "Sanzhar Motov"
DELETE test
PUT test
{
"mappings": {
"properties": {
"title": {
"type": "text"
},
"author": {
"type": "nested",
"properties": {
"first": {
"type": "text"
},
"last": {
"type": "text"
}
}
}
}
}
}
PUT test/_doc/1
{
"title": "В чем разница между nested и object?",
"author": [{
"first": "Sanzhar",
"last": "Kaiyrbek"
}, {
"first": "Igor",
"last": "Motov"
} ]
}
POST test/_search
{
"query": {
"nested": {
"path": "author",
"query": {
"bool": {
"must": [
{
"match": {
"author.first": "Sanzhar"
}
},
{
"match": {
"author.last": "Kaiyrbek"
}
}
]
}
}
}
}
}
POST test/_search
{
"query": {
"nested": {
"path": "author",
"query": {
"bool": {
"must": [
{
"match": {
"author.first": "Sanzhar"
}
},
{
"match": {
"author.last": "Motov"
}
}
]
}
}
}
}
}
вот снимок можете сделать мне агрегацию Company => Krp=>Histories=>Value
У меня результат вообще не приходит
Но спасибо за пояснение объекта и nested
Я не могу сделать Вам агрегацию, потому что я не знаю какая агрегация вам нужна и каким образом Ваши данные были проиндексированы. Я могу попробовать помочь разобраться, почему Ваш запрос не возвращает нужные результаты.
спасибо за такой быстрый ответ,как я смогу проиндексировать свой данные в ElasticSearch. За ранее спасибо за ответ
В документации достаточно подробно описано, как это можно сделать: https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started-index.html
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.