2024-05-29 03:04:31 发布
网友
我想在Elasticsearch中使用通配符查询字段,但问题是搜索字符串存储在变量中,不能静态使用。 预期查询是:
body={"query": {"wildcard": {"Name": { "value" : "Vi?????" }}}}
其中,搜索字符串“Vi”在编译时不可用。它将由用户提供。假设它存储在某个变量str(=“Vi”)中。我应该如何使用str和“?”s表示查询
您必须在python中使用+连接
python
+
你需要避开双引号。有很多方法可以做到这一点。我更喜欢escaping double quotes as \"
escaping double quotes as \"
searchWord ="Vi"; query = "{\"query\": {\"wildcard\": {\"Name\": { \"value\" : \"" + searchWord + "?????\" }}}}"; print (query);
searchWord是您从用户那里收到的东西。我硬编码的
searchWord
query是您需要形成的。这就是我如何形成它的\"" + searchWord + "?????\"
query
\"" + searchWord + "?????\"
编辑:
searchWord ="Vi"; x = 2; query = "{\"query\": {\"wildcard\": {\"Name\": { \"value\" : \"" + "[a-z]{" + str(x) +"}" + searchWord + "?????\" }}}}"; print (query);
您必须在
python
中使用+
连接你需要避开双引号。有很多方法可以做到这一点。我更喜欢
escaping double quotes as \"
searchWord
是您从用户那里收到的东西。我硬编码的
请检查并提供我需要考虑的任何信息。query
是您需要形成的。这就是我如何形成它的\"" + searchWord + "?????\"
编辑:
相关问题 更多 >
编程相关推荐