2010-01-19 46 views
1
$index = Zend_Search_Lucene::open("/data/my_index1"); 

$doc = new Zend_Search_Lucene_Document(); 

$doc->addField(Zend_Search_Lucene_Field::Text('type','auto')); 

$index->addDocument($doc); 

$term = new Zend_Search_Lucene_Index_Term('auto*'); 

$query = new Zend_Search_Lucene_Search_Query_Wildcard($term); 

$hits = $index->find($query); 

foreach ($hits as $hit){ 

    echo $hit->type; 

} 

成功执行此代码后,它需要打印自动。但数组$ hit是空的。Zend Lucene中的通配符查询

这是什么原因?

+1

对不起,在标题,而不是模糊它必须是通配符 – 2010-01-19 06:34:46

+0

编辑的问题,以更好的可读性/理解。 – 2010-01-20 19:43:03

回答

0

您可能需要幽默我在这里,但你尝试过更换:

$term = new Zend_Search_Lucene_Index_Term('auto*'); 

$query = new Zend_Search_Lucene_Search_Query_Wildcard($term); 

$hits = $index->find($query); 

$hits = $index->find('auto*'); 
1

晚两年,但有可能的原因是,所做的更改不会提交到指数。文档添加后,您需要调用commit方法使其可用于搜索。