简体   繁体   English

ElasticSearch:对 IN 查询使用查询字符串

[英]ElasticSearch: Using query string for IN queries

I'm trying to do something similar to an IN statement in SQL, eg我正在尝试做类似于 SQL 中的 IN 语句的事情,例如

SELECT * FROM es_index WHERE in_col in ('v1', 'v2', 'v3') AND match_col='v4';

I need to do this with a query string (this is a must) in ElasticSearch since only this function is exposed for me, so I tried out我需要在 ElasticSearch 中使用查询字符串(这是必须的)来执行此操作,因为只有这个 function 对我来说是公开的,所以我尝试了

// GET /_search
{
  "query": {
    "query_string": {
      "query": "(in_col: [v1, v2, v3]) AND (match_col:v4)"    
    }
  }
}

But it gave me a parsing error但它给了我一个解析错误

Cannot parse 'in_col: [v1, v2, v3]': Encountered \" \"]\" \"] \"\" at line x, column y.\nWas expecting:\n    \"TO\" ...\n

Any idea?任何想法?

IN is basically an OR condition so you can do it like this IN 基本上是一个 OR 条件,所以你可以这样做

{
  "query": {
    "query_string": {
      "query": "in_col:(v1 OR v2 OR v3) AND match_col:v4"    
    }
  }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM