ES python dsl,查询,变量的字段名称

时间:2018-05-17 12:02:52

标签: python elasticsearch

我正在使用elasticsearch_dsl。 是否可以使用Q从变量中使用字段名称? 我想将字段名称topic_18与变量相关联。

   b_clause = Q(
                "range",
                topic_18={
                    "lte": 0.3
                }
            )

像这样:

field_name = "topic_12"
        clause = Q(
            "range",
            field_name={
                "lte": 0.3
            }
        )

有可能吗?谢谢!

1 个答案:

答案 0 :(得分:0)

好的,而不是做Q("范围",... 我做了json喜欢:

clause = {
            "range": {
              topic_name: {
                expr: val
              }
            }
         }

以后在最终查询中使用它:

Q("bool", must=must_arr)