Допустим, у меня есть язык запросов, который анализирует запросы "естественного" языка в упругих поисковых запросах.
Предполагая, что у нас есть следующий запрос:
(type == "my-type" || device_id == "some-device-id") && id == "123456789"
Как мне добиться этого вЭластичный поиск?
Я пробовал с:
{
"bool": {
"filter": {
"term": {
"id": "123456789"
}
},
"should": [
{
"term": {
"type": "my-type"
}
},
{
"term": {
"device_id": "some-device-id"
}
}
]
}
}
но это не то, что я хочу.
Что я делаю не так?
Картография:
{
"mappings": {
"_doc": {
"properties": {
"accepted_at": {
"type": "date",
"format": "strict_date_optional_time||date_time||epoch_millis"
},
"created_at": {
"type": "date",
"format": "strict_date_optional_time||date_time||epoch_millis"
},
"device_id": {"type": "keyword"},
"id": {"type": "keyword"},
"location": {"type": "geo_point"},
"message_id": {"type": "keyword"},
"type": {"type": "keyword"}
}
}
}
}