【发布时间】:2015-01-13 03:25:11
【问题描述】:
嘿,我是 Elasticsearch 新手,想“翻译”这个 SQL 查询:
SELECT"*" FROM Results WHERE "Id"=2 AND Number IN (25,27, 29) AND Date BETWEEN Date1 AND Date 2 ORDER BY Date LIMIT 20
编辑:“翻译”是指我想将 SQL 语句转换为 elaticsearch 查询。 我试过了,但下面的弹性搜索查询还没有工作:(
我想使用过滤器来做到这一点,到目前为止:
{
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"and": [
{
"range": {
"date": {
"gt": "2008-01-01",
"lt": "2014-01-01"
}
}
},
{
"term": {
"Id": 2
}
},
{
"terms": {
"number": [
25,
27,
29
]
}
},
{
"limit": {
"value": 20
}
}
]
}
}
}
我阅读了文档并尝试了示例,进行了简单的查询,希望有人可以帮助我!
【问题讨论】:
-
注意:您还可以检查您的 SQL 查询是否直接与您的 Elasticsearch 实例一起运行,因为 Elasticsearch 6.3 release, now (June 2018) comes with native SQL support.
标签: json elasticsearch lucene