Как проверить, являются ли мои условия запроса ключами в одном из моих полей? Например, здесь хранится документ:Запрос, если ключ существует в хеше ElasticSearch
{
field1: "some value",
field2: "some other value",
field3: {
something: [1,2],
else: [2,3]
}
}
Запрос «что-то» должен вернуть этот документ. Запрос «некоторое значение» также должен вернуть этот документ. Вот то, что я до сих пор:
{
query: {
filtered: {
query: {
multi_match: {
query: query,
fields: ['field1', 'field2'],
operator: 'and'
}
},
filter: {
or: [
{
exists: { field: "field3"}
}
]
}
}
}
}
Я вынул часть 'match_phrase', потому что я не передаю разные термины запроса в разные поля (т. Е. Одни и те же термины запрашиваются во всех полях). Также это не работает. Я получаю ошибку: 'Запрос не зарегистрирован для [существует]'. :( – user3325749
Я исправил запрос, теперь вы можете попробовать. –
Запрос «что-то» возвращает этот документ только потому, что 'match_phrase' соответствует другой строке. Удаление вложенного bool не возвращает документ. – user3325749