我在我的web應用程序中有一個搜索表單,用戶可以通過名稱,俱樂部名稱搜索其他用戶... 這是我用於搜索的代碼,但它沒有給我任何'匹配」。使用Zend搜索使用Symfony 2的Lucene
$search = $this->get('ewz_search.lucene');
$query = new MultiTerm();
$query->addTerm(new Term($form->getData()->getName()));
$query->addTerm(new Term($form->getData()->getClub()->getId()));
// See point 1 to see what this displays
var_dump($query);
// See point 2 to see what this displays
die("debug: " . $query);
// If I use this instead of the MultiTerm, I do get a hit
// $query = 'Mathew';
$hits = $search->find($query);
點1: 對象(的Zend \搜索\ Lucene的\搜索\查詢\ MultiTerm中)#644(9){[ 「_terms」: 「的Zend \搜索\ Lucene的\搜索\查詢\ MultiTerm的」:私人] =>數組(2){[0] =>對象(Zend \ Search \ Lucene \ Index \ Term)#638(2){[「field」] => NULL [「text」] => string(12 )「[Mathew]} [1] => object(Zend \ Search \ Lucene \ Index \ Term)#637(2){[」field「] => NULL [」text「] => int(1) 「_signs」:「Zend \ Search \ Lucene \ Search \ Query \ MultiTerm」:private] => array(2){[0] => NULL [1] => NULL} [「_resVector」:「Zend \您可以使用Zend \ Search \ Query \ MultiTerm來創建一個名稱爲「Zend \ Search \ Lucene \ Search \ Query \ MultiTerm」的私人空間。 \ Search \ Query \ MultiTerm「:private] => NULL [」_weights「:」Zend \ Search \ Lucene \ Search \ Query \ MultiTerm「:private] => array(0){} [」_bo ost「:」Zend \ Search \ Lucene \ Search \ Query \ AbstractQuery「:private] => int(1)[」_weight「:protected] => NULL [」_currentColorIndex「:」Zend \ Search \ Lucene \ Search \ Query \ AbstractQuery「:私人] => INT(0)}
點2: 調試:馬修1
THX。
THX您的輸入。我認爲我很高興,直到我開始測試一個應該給出多個結果的查詢。我有這個MultiTerm查詢打印出來:「+ name:+ club:ARA LA GANTOISE + natranking:+ doublesranking:」(它沒有給出任何結果),我嘗試手動執行,如$ query =「+ name:+ club :ARA LA GANTOISE + natranking:+ doublesranking:「(這有效)..爲什麼? – mattyh88