Скажем, у нас есть следующий индекс предметов со вложенным свойством резервирования. У каждого товара есть свойство количества, где они могут указать, сколько у них запасов.
Было бы легко создать запрос для поиска ключевых слов на основе заголовка и описания элемента, но я понятия не имею, как создать запрос для удовлетворения следующего утверждения: «Мне нужно знать, у кого есть доступные инвалидные коляски в период с 1 января по 10 января. "
Сначала я проверяю, есть ли в названии и описании инвалидная коляска, затем для каждого из этих предметов мне нужно сложить все резервы с 1 по 10 января, а затем вычесть это количество товара, чтобы узнать, что предмет доступен.
Как это перевести на запрос эластичного поиска?
PUT items
{
"mappings": {
"default": {
"properties": {
"owner": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"title": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"fullDescription": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"quantity": {
"type": "long"
},
"reservations": {
"type": "nested",
"properties": {
"endDate": {
"type": "date",
"format": "date_optional_time"
},
"quantity": {
"type": "long"
},
"startDate": {
"type": "date",
"format": "date_optional_time"
}
}
}
}
}
}
}