2011-05-03 104 views
0

保存我fieldes与此代码:Lucene的搜索没有找到关键字索引字段

class Places_Search_Document extends Zend_Search_Lucene_Document{ 
public function __construct($class, $key, $title,$contents, $summary, $createdBy, $dateCreated) 
    { 
     $this->addField(Zend_Search_Lucene_Field::Keyword('docRef', "$class:$key")); 
     $this->addField(Zend_Search_Lucene_Field::UnIndexed('class', $class)); 
     $this->addField(Zend_Search_Lucene_Field::UnIndexed('key', $key)); 
     $this->addField(Zend_Search_Lucene_Field::Keyword('title', $title ,'UTF-8')); 
     $this->addField(Zend_Search_Lucene_Field::unStored('contents', $contents , 'UTF-8')); 
     $this->addField(Zend_Search_Lucene_Field::text('summary', $summary , 'UTF-8')); 
     //$this->addField(Zend_Search_Lucene_Field::UnIndexed('createdBy', $createdBy)); 
     $this->addField(Zend_Search_Lucene_Field::Keyword('dateCreated', $dateCreated)); 
    } 

}

我搜索这个码字:

$index = Places_Search_Lucene::open(SearchIndexer::getIndexDirectory()); 
     $term = new Zend_Search_Lucene_Index_Term($q); 
     $query = new Zend_Search_Lucene_Search_Query_Wildcard($term); 
     $results = $index->find($query); 

现在它的工作完美的未排序和文本字段,但它不会搜索关键字!

回答

1

您确定您确实希望对这些字段进行关键字分析吗?关键字分析器将字段的整个文本作为一个令牌,这是您很少需要的。

+0

thanx很多你的注意:)我发现我的错误;) – afsane 2011-05-05 06:29:49