我使用的是php elsticsearch,需要搜索包含多个以“/”分隔的值的记录。e、 g“/coll/ec/sup\u b1n/team\u b1n\u 02”和“/coll/ec/sup\u b1n/team\u b1n\u 01”。它们保存为单个字符串。我需要在查询中使用它们来获取$accessgroups='/coll/ec/sup\u b1n/team\u b1n\u 02'但使用ElasticSearch的所有记录。accessgroups变量是从一个值填充的,我刚刚在这里添加了一个示例
$accessgroups = "/COLL/EC/SUP_B1N/TEAM_B1N_02";
$params = [
"index" => "calls",
"size" => 10000,
'body' => [
'query' => [
'bool' => [
'must' => [
[ "match" => [ 'accessgroups'=> $accessgroups ] ],
],
"filter" => [
[ "range" => [ "start" => [ "gte" => $startTime, "lte" => $endTime ]]],
]
]
]
]
];
但它将返回访问组字符串中出现任何值的所有记录。如果我只是使用“/coll/ec/sup\u b1n”,我仍然得到“/coll/ec/sup\u b1n/team\u b1n\u 02”返回。我需要一个精确的匹配,这是我认为我的查询应该做的。非常感谢您的帮助。
暂无答案!
目前还没有任何答案,快来回答吧!