SELECT * FROM Customers 城市IN('巴黎','伦敦')
如何在elasticsearch中转换上述查询..
答案 0 :(得分:0)
您的查询应如下所示:
POST
请求:
http://localhost:9200/Customers/_search? <--assuming customers as your index
和请求BODY
:
"query":{
"query_string":{
"query":"City:(Paris London)"
}
}
IN 在ES中的行为与:
相同。希望这有帮助!
答案 1 :(得分:0)
您可以使用terms query
GET _search
{
"query" : {
"terms" : {
"city" : ["Paris", "London"]
}
}
}
但是,请确保您的地图标记city
标记为not_analyzed
为了使您的搜索不区分大小写,我可以通过以下两种方式来考虑:
match query
代替terms query
。 Terms query
不适用于analyzed
字段。示例小写分析器如下所示:
"analyzer": {
"lowercase_analyzer": {
"type": "custom",
"tokenizer": "keyword",
"filter": [
"lowercase",
"asciifolding"
]
}
}