【发布时间】:2020-08-06 14:46:50
【问题描述】:
我有一个这样的 SQL 查询
sql_1 = "SELECT * FROM dd_s3data WHERE (yelp_address = '370 Barren Rd' OR yelp_businessname ILIKE '%Computer%') AND (yelp_state = 'CT' OR yelp_category ILIKE '%flooring%');"
我正在尝试将其转换为 Elasticsearch 查询。这是我尝试过的查询。它给出了OR 结果而不是AND
es_query1 = {
"query": {
"constant_score": {
"filter": {
"bool": {
"should": [
{"match_phrase": {"yelp_address": "370 Barren Rd"}},
{"match": {"yelp_businessname": "Computer"}}
],
"should": [
{"match": {"yelp_state": "CT"}},
{"match_phrase": {"yelp_category": "flooring"}}
]
}
}
}
}
}
在我的第一个查询正确后,我必须转换一个更大的查询。
sql_2 = "SELECT * FROM dd_s3data WHERE (yelp_address = '370 Barren Rd' OR yelp_businessname ILIKE '%Computer%') AND (yelp_state = 'CT' OR yelp_category ILIKE '%flooring%') AND yelp_noofreviews < 3.0 AND yelp_noofrating > 3.0;"
如何转换我的 SQL 查询,以便我得到 AND 结果而不是 OR?
【问题讨论】:
标签: elasticsearch elastic-stack elasticsearch-query