带弹性搜索SQL的查询中的SQL

时间:2018-09-20 17:19:23

标签: elasticsearch elasticsearch-sql

我正在尝试弹性搜索sql。在where子句中,它可以很好地等于运算符。但是我不能在where子句中使用in运算符。这里有任何等效命令吗? (如“条款”过滤器)

POST _xpack/sql
{
  "query":"Select * from index_name where some_no in ( '12yrcs', 'ynelb') "
}

我收到以下错误消息。

{
  "error": {
    "root_cause": [
      {
        "type": "sql_illegal_argument_exception",
        "reason": "Don't know how to translate In In[some_no{f}#3005,[12yrcs, ynelb]]"
      }
    ],
    "type": "sql_illegal_argument_exception",
    "reason": "Don't know how to translate In In[some_no{f}#3005,[12yrcs, ynelb]]"
  },
  "status": 500
}

2 个答案:

答案 0 :(得分:0)

到目前为止,我还没有找到任何好的解决方案,但是您可以在some_no='12yrcs'some_no='ynelb'上包含条件的地方使用

答案 1 :(得分:0)

在您尝试ES-SQL时,尚未实现IN运算符:https://github.com/elastic/elasticsearch/issues/34622。 但是现在,这应该完成并可用。