У меня есть поисковая форма в моем webapp, где пользователи могут искать другие по имени, клубу, ... Это код, который я использую для поиска, но он не дает мне никаких «хитов» ».Использование Zend Поиск Lucene с Symfony 2
$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 \ Search \ Lucene \ Search \ Query \ MultiTerm) # 644 (9) {[ "_terms": "Zend \ Search \ Lucene \ Search \ Query \ MultiTerm": private] => array (2) {[0] => object (Zend \ Search \ Lucene \ Index \ Term) # 638 (2) {["field"] => NULL ["text"] => string (12) «Mathew»} [1] => объект (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 \ Search \ Lucene \ Search \ Query \ MultiTerm ": private] => NULL [" _termsFreqs ":" Zend \ Search \ Lucene \ Search \ Query \ MultiTerm ": private] => array (0) {} [" _coord ":" Zend \ Search \ Lucene \ 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: отладки: Mathew 1
Thx.
Thx для вашего входа. Я думал, что мне хорошо, пока я не начал тестировать с запросом, который должен дать более одного результата. У меня есть этот запрос MultiTerm, который печатает: «+ name: + club: ARA LA GANTOISE + natranking: + doublesranking:» (который не дает никаких результатов), и я попытался сделать это вручную, как $ query = "+ name: + club : ARA LA GANTOISE + natranking: + doublesranking: "(это работает) .. Почему? – mattyh88