Php 如何加上「;其中;Zend Lucene搜索引擎的条件?

Php 如何加上「;其中;Zend Lucene搜索引擎的条件?,php,zend-framework,Php,Zend Framework,有一些使用Zend Lucene进行搜索的代码: $index = new Zend_Search_Lucene(Yii::getPathOfAlias('application.'.$this->index_file)); $results = $index->find('PHP'); foreach ($results as $result) { echo $result->name; echo '<br/>'; } $index=new Z

有一些使用Zend Lucene进行搜索的代码:

$index = new Zend_Search_Lucene(Yii::getPathOfAlias('application.'.$this->index_file));
$results = $index->find('PHP');
foreach ($results as $result) 
{
    echo $result->name;
    echo '<br/>';
}
$index=new Zend_Search_Lucene(Yii::getPathOfAlias('application.'.$this->index_文件));
$results=$index->find('PHP');
foreach($results作为$result)
{
echo$result->name;
回声“
”; }

它工作正常。但现在我需要添加“where”条件来搜索:“where-emptance\u state=1”。我怎么做?谢谢

您需要创建查询。您可以将其作为文本或使用查询API(ofc vancy_状态必须在索引中):

或者使用API应该是这样的:

    $query = new Zend_Search_Lucene_Search_Query_MultiTerm();
    $query->addTerm(new Zend_Search_Lucene_Index_Term('PHP'), true);
    $query->addTerm(new Zend_Search_Lucene_Index_Term(1, 'vacancy_state'), true);
    $index->find($query);

    $query = new Zend_Search_Lucene_Search_Query_MultiTerm();
    $query->addTerm(new Zend_Search_Lucene_Index_Term('PHP'), true);
    $query->addTerm(new Zend_Search_Lucene_Index_Term(1, 'vacancy_state'), true);
    $index->find($query);
    $query = new Zend_Search_Lucene_Search_Query_Boolean();
    $term = new Zend_Search_Lucene_Index_Term('PHP');
    $subquery = new Zend_Search_Lucene_Search_Query_Term($term);
    $query->addSubquery($subquery, true);
    $term = new Zend_Search_Lucene_Index_Term(1, 'vacancy_state');
    $subquery = new Zend_Search_Lucene_Search_Query_Term($term);
    $query->addSubquery($subquery, true);