我有种族表列,其中包含一些值(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注册的查询'。任何帮助都是感激的。
1条答案
按热度按时间yhxst69z1#
你用过术语查询吗?
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-terms-query.html