Я пытаюсь выполнить запрос Elasticsearch, который выполнил поиск в текстовом поле («тело») и возвращает элементы, которые соответствуют по крайней мере одной из двух фраз, которые я предоставляю (ie: «переполнение стека» ИЛИ «переполнение стека») «). Я также хотел бы, чтобы запрос предоставил только результаты, которые появляются после заданной отметки времени, а результаты упорядочены по времени.
Мое текущее решение приведено ниже. Я считаю, что ДОЛЖЕН работать правильно (gte timestamp), но BOOL + ДОЛЖЕН с двумя match_phrases не правильно. Я получаю следующую ошибку:
Unexpected character ('{' (code 123)): was expecting double-quote to start field name
Что я думаю, , потому что у меня там есть две match_phrases?
Это ES отображение и детали ES API, которые я использую, являются здесь .
{"query":
{"bool":
{"should":
[{"match_phrase":
{"body":"a+phrase"}
},
{"match_phrase":
{"body":"another+phrase"}
}
]
},
{"bool":
{"must":
[{"range":
{"created_at:
{"gte":"thispage"}
}
}
]}
}
},"size":10000,
"sort":"created_at"
}