如何在elasticsearch中从一列中搜索多个值?

svmlkihl  于 2022-11-28  发布在  ElasticSearch
关注(0)|答案(1)|浏览(132)

我有种族表列,其中包含一些值(1,2,3,4,5)。目前,我在ElasticSearch中的搜索查询只搜索单个值,例如,如果我搜索?种族=1,它会正确找到这些结果,但当我尝试?种族= 1,2,3时,它只显示种族为3的值。我需要它显示所有三个值的种族(1,2,3)。当前当我转储查询时,它看起来像这样。

array:2 [
 "index" => "users"
 "body" => array:4 [
 "from" => 0
 "size" => 20
 "query" => array:1 [
   "bool" => array:1 [
     "filter" => array:1 [
      "bool" => array:1 [
       "must" => array:2 [
           0 => array:1 [
             "match" => array:1 [
               "ethnicity" => "1,2,3"
             ]
           ]
           1 => array:1 [
             "match" => array:1 [
               "status" => "a"
             ]
           ]
         ]
       ]
     ]
   ]
 ]

如何使用正确的查询格式才能看到多个值?
我尝试了'multi_match',但命中不同的列,而不是值,我也尝试了'should',但我得到错误'没有为should注册的查询'。任何帮助都是感激的。

相关问题