Может быть, мой вопрос немного неясен, но я его опишу, так как у меня совсем нет опыта работы с ElasticSeach. То, что у меня есть, это проиндексированные документы в следующем формате:
{"field1": "something", "field2": "nothing", "text_filed": "some_text"}
Что я хочу сделать, так это выполнить запросы так, чтобы field1
и field2
использовались для terms
соответствия как filter
, а text_field
будет использоваться в качестве стандартного запроса. Мой вопрос о filter
. Поскольку мои входные данные будут иметь вид:
field1 = ["1", "2", "3"]
field2 = [["one", "one1"], ["two", "2two", "two2"], ...]
query = "whatever"
Я хочу отфильтровать все документы, которые имеют 1
в field1
и либо one
или one1
в field2
, товсе документы, которые имеют 2
в field1
и two
, 2two
или two2
как field2
и так далее ...
Для меня довольно ясно, как это сделатьбазовая фильтрация по field1
и field2
, но я не знаю, как их объединить. Предпочтительно, я хотел бы знать, как я могу добиться этого с помощью Python DSL.
Ждем ваших ответов!