Я пытаюсь выполнить базовую операцию входа в систему, где мое представление (передняя часть) принимает имя пользователя и пароль через форму
Так что в SQL у меня должен быть пример запроса:
SELECT * FROM users WHERE username = $_POST['username'] AND password = $_POST['password'];
В соответствии с официальной документацией Elasticsearch PHP API он должен выглядеть следующим образом:
$params = [
'index' => 'myIndex',
'type' => 'myType',
'body' => [
'query' => [
"bool" => [
"must" => [
"match" => [
"username" => 'email@email.com',
],
"match" => [
"password" => 'mypassword',
],
]
]
]
]
];
К сожалению, он отображает LOT документов, поэтому я предположил, что он выполняет оператор OR вместо того, чтобы сопоставлять их вместе
К вашему сведению, если вы когда-нибудь задумаетесь, почему так много документов отображается в соответствии с указанным выше свойством «совпадения», буквально много пользовательских документов с одним и тем же паролем
Главный вопрос
Есть ли какой-нибудь правильный запрос ES, который бы соответствовал моему имени пользователя AND
паролю , чтобы я мог получить только один документ? Я искал с официальной документацией, но ничего не получается желаемый вывод
Большое спасибо!