我有一個名稱,俱樂部,natranking,doublesranking和俱樂部領域的搜索表單。我從選擇框中選擇了一個俱樂部,將名稱字段留空並單擊「搜索」。結果沒有命中。應該有3個,因爲數據庫中有3條記錄是所選俱樂部的一部分。這是爲什麼?沒有來自Zend Search MultiTerm Query的匹配? (應該有3)
Thx。
控制器類:
$search = $this->get('ewz_search.lucene');
// Create query
$terms = array(new Term($form->getData()->getName(), 'name'),
new Term($form->getData()->getClub(), 'club'),
new Term($form->getData()->getNatRanking(), 'natranking'),
new Term($form->getData()->getNatDoublesRanking(), 'doublesranking')
);
$signs = array(TRUE, TRUE, TRUE, TRUE);
$query = new MultiTerm($terms, $signs);
// Get results
$results = $search->find($query);
// Echo prints: "+name: +club:A.R.A. LA GANTOISE +natranking: +doublesranking:"
echo $query;
// This returns 0
die("debug: " . count($results);
//編輯
這工作(給我3個結果):
$manual_query = "+name: +club:A.R.A. LA GANTOISE +natranking: +doublesranking:";
你的Lucene索引是什麼樣的?你是如何對數據進行索引的?你可以使用像Luke這樣的工具來查看索引,數據是否按照您的想法實際編制索引? –
我將在今晚回家時檢查Lucene索引的外觀。但我認爲這是可以的,因爲手動查詢確實有效:) – mattyh88