У меня есть структура данных, которая выглядит следующим образом:
"dictionaryProximities": [
{
"proximity": 0.32427,
"topicDictionaryName": "Electrical",
},
{
"proximity": 0.32141,
"topicDictionaryName": "Indoor Air Quality",
},
{
"proximity": 0.7321,
"topicDictionaryName": "Smart Home Technology",
},
Я хочу создать фильтр / запрос, который будет возвращать все файлы, где близость «технологии умного дома» больше значения,скажем 0,7.
Прямо сейчас у меня есть запрос:
{
"query": {
"nested": {
"path": "dictionaryProximities",
"query": {
"match": {
"dictionaryProximities.topicDictionaryName": {
"query": "Smart Home Technology",
"type": "phrase"
}
}
}
}
}
}
, сложенный с запросом:
{
"query": {
"nested": {
"path": "dictionaryProximities",
"query": {
"range": {
"dictionaryProximities.proximity": {
"gte": 0.7,
"lt": 1
}
}
}
}
}
}
Возвращает все файлы с близостью выше 0,7 и содержат имя Умный домТехнология.Это очень отличается от того, что я хочу, это все файлы, которые имеют близость выше 0,7 ТОЛЬКО для технологии Smart Home.
Мой вопрос: есть ли способ объединить эти два запроса таким образом, чтобы достичь желаемого результата?Возможна ли эта задача, так как близость и имя находятся на одном уровне?Любая помощь будет очень признательна.