У меня есть несколько полей в форме поиска. Каждое поле может быть пустым. я построить запрос, как это:Возвращает результаты, когда параметры поиска равны нулю. I Zend Lucene
$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");
Посмотрите на этот похожий вопрос Я ответил ранее для идей: http://stackoverflow.com/questions/9764950/mysql-updating-some-database-fields-without-overwriting-fields-not-changed/9765118#9765118 –