如何将php elasticsearch与具有正斜杠的字段一起使用
我使用的是php elsticsearch,我需要搜索包含多个以“/”分隔的值的记录。e、 g“/COLL/EC/SUP_B1N/TEAM_B1N_02”和“/COLL/EC/SUP_B1N/TEAM_B1N_01”。 它们保存为单个字符串。 我需要在查询中使用它们来获取$accessgroups='/COLL/EC/SUP_B1N/TEAM_B1N_02',但使用弹性搜索的所有记录。 accessgroups变量是从一个值填充的,我刚刚在这里添加了一个示例如何将php elasticsearch与具有正斜杠的字段一起使用,php,
elasticsearch,Php,
elasticsearch,我使用的是php elsticsearch,我需要搜索包含多个以“/”分隔的值的记录。e、 g“/COLL/EC/SUP_B1N/TEAM_B1N_02”和“/COLL/EC/SUP_B1N/TEAM_B1N_01”。 它们保存为单个字符串。 我需要在查询中使用它们来获取$accessgroups='/COLL/EC/SUP_B1N/TEAM_B1N_02',但使用弹性搜索的所有记录。 accessgroups变量是从一个值填充的,我刚刚在这里添加了一个示例 $accessgroups = &q
$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_B1N”,我仍然得到返回的“/COLL/EC/SUP_B1N/TEAM_B1N_02”。
我需要一个精确的匹配,这是我认为我的查询应该做的。
非常感谢您的帮助。所以我不熟悉您正在使用的库,但我过去曾与elasticsearch合作过。我想不起细节了,因为它已经有几年了,但看起来您使用的是必须匹配查询。我相信有一种必须匹配所有查询类型。此外,如果您的客户还没有准备好,您可能需要考虑扩展/以使数据更易于使用