У меня есть несколько полей в форме поиска. Каждое поле может быть пустым. Я строю запрос следующим образом:
$search_title = trim($_POST["search_title"]);
$search_skill = trim($_POST["search_skill"]);
$search_company = trim($_POST["search_city"]);
$search_country_id = trim($_POST["search_county_id"]);
$hits = $index->find("title:$search_title and skill:$search_skill and city:$search_city and country_id:$country_id");
Пользователь может заполнить только название, навык, город и т. д., но если какое-то поле пустое, у меня нет результата. У меня есть результат, только если все поля заполнены и совпадают. Я не получу результатов, если заполнено только одно поле, если оно равно нулю, игнорируйте это поле:
$hits = $index->find("title: and skill: and city: and country_id:$country_id");