Answer the question
In order to leave comments, you need to log in
How to properly create an index in ElasticSearch?
For better perception, I took a completely different topic and renamed the fields.
Example:
"компании" :
[{
"название" : "значение",
"hash" : "УникальноеЗначение",
...
"работники" : [
"должность" : ["ИмяРаботника", "ИмяРаботника", "ИмяРаботника"],
"должность" : "ИмяРаботника",
...
"должность" : "ИмяРаботника"
],
"ключ" : "значение"
}, и т.д. идентичные предыдущему объекту объекты]
client.indices.create({
index: "компании",
body: {
"mappings": {
"компания": {
"properties": {
"навание": {
"type": "string"
},
"hash": {
"type": "string"
},
...
"работники": {
???
}
}
}
}
}
}, function (error, response) {
var body = GetData();
client.bulk({
body: body
}, function (err, resp) {
res.render('index', {result: 'Indexing Completed!'});
})
});
Answer the question
In order to leave comments, you need to log in
1. You do not need to check anything, if the data is not needed, the request to update the entire document is similar to the request to add. The query below will either create a new document or completely replace the existing one.
PUT /компании/компания/{_id}
{
"навание": "SpaceX",
"работники": ...,
}
PUT /компании/компания/{hash}
{
...
}
"mappings": {
"компания": {
// в текущей версии: 2.3 depricated - сказывалось на производительности
"_id": {"path": "hash"},
"properties": {
"навание": {
"type": "string"
},
...
}
}
}
"mappings": {
"компания": {
"properties": {
"работники": {
"type": "nested",
"properties": {
"должность": {
"type": "string"
},
"имя": {
"type": "string"
}
}
}
}
}
}
// создание/обновление
PUT /компании/компания/{_id}
{
"название": "...",
"hash": "...",
"работники": [
{
"должность": "манагер",
"имя": ["Анатолий", "Андрей"]
},
{
"должность": ["управляющий", "заместитель"]
"имя": "Дмитрий"
},
{
"должность": "кассир",
"имя": ["Татьяна", "Анастасия"]
},
]
}
// примерный поиск
GET /компании/компания/_search
{
"query": {
"nested": {
"path": "работники",
"query": {
"bool": {
"must": [
{ "match": { "работники.должность": "управляющий" }},
{ "match": { "работники.должность": "кассир" }}
]
}
}
}
}
}
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question