我正在尝试弹性搜索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
}
答案 0 :(得分:0)
到目前为止,我还没有找到任何好的解决方案,但是您可以在some_no='12yrcs'
或some_no='ynelb'
上包含条件的地方使用
答案 1 :(得分:0)
在您尝试ES-SQL时,尚未实现IN
运算符:https://github.com/elastic/elasticsearch/issues/34622。
但是现在,这应该完成并可用。