Zend Lucene Search Document
Lucene Document pk:Keyword category_id:Keyword title:UnStored description:UnStored
This is my string query "java lucene AND +category_id:7". Result here:
Array ( [0] => Array ( [pk] => 209 [category_id] => 7 [id] => 0 [score] => 0.40750848701418 ) [1] => Array ( [pk] => 225 [category_id] => 7 [id] => 3 [score] => 0.30750848701619 ) [2] => Array ( [pk] => 211 [category_id] => 8 ====>>> WRONG!!! [id] => 2 [score] => 0.37152213415004 ) )
Can you do a Query search on the category_id = 7 only?? Thanks in advance.
I had solved this problem by using Zend Query Parsing
$strQuery = Zend_Search_Lucene_Search_QueryParser::parse('java lucene');
$cateTerm = new Zend_Search_Lucene_Index_Term(7 , 'category_id');
$cateQuery = new Zend_Search_Lucene_Search_Query_Term($cateTerm);
$query = new Zend_Search_Lucene_Search_Query_Boolean();
$query->addSubquery($strQuery, true /* required */);
$query->addSubquery($cateQuery, true /* required */);
Results will be only in category_id = 7 :)