Фильтрация по 2 значениям поля в упругой?
Я не уверен, как лучше сформулировать этот вопрос, поэтому я просто воспользуюсь примером MySQL.
Так что в MySQL я могу написать запрос так:
SELECT * FROM some_table WHERE some_field >= some_other_field
Какой запрос будет эквивалентен этому в Elastic Search?
Бонусный вопрос: реализован ли он в клиенте Elastica PHP?
1 ответ
Попробуйте выполнить поиск по этому запросу:
{
"query": {
"bool": {
"must": {
"script": {
"script": "doc['some_field'].value >= doc['some_other_field'].value"
}
}
}
}
}
Основано на: https://www.elastic.co/guide/en/elasticsearch/reference/6.2/query-dsl-script-query.html
Имейте в виду, что в предыдущей версии у нас был немного другой синтаксис.