【发布时间】:2020-10-13 06:21:05
【问题描述】:
我想在 Elasticsearch 中使用通配符查询一个字段,但问题是搜索字符串存储在一个变量中并且不能静态使用。 预期的查询是:
body={"query": {"wildcard": {"Name": { "value" : "Vi?????" }}}}
其中搜索字符串“Vi”在编译时不可用。它将由用户提供。假设它存储在某个变量 str (= "Vi") 中。我应该如何使用 str 和 "?"s 制定查询?
【问题讨论】:
-
也许你应该详细说明这个问题。您是否担心 NoSQL 注入?或者不想进行前缀搜索?
-
您的查询是否包含在变量中?
-
是的。搜索字符串存储在一个变量中,我想用该字符串创建一个查询。基本上用户应该得到与他/她给出的输入相对应的结果。显然我不能写一个静态查询。我应该如何进行?
标签: python elasticsearch wildcard elasticsearch-dsl elasticsearch-query