Zend framework zend框架中的lucene编码问题
我使用lucene搜索索引器 它对英语很有用,但我在我的网站上使用了波斯语,它不能为这种语言编制索引 例如“سلام” 我使用此代码创建文档:Zend framework zend框架中的lucene编码问题,zend-framework,encoding,indexing,lucene,Zend Framework,Encoding,Indexing,Lucene,我使用lucene搜索索引器 它对英语很有用,但我在我的网站上使用了波斯语,它不能为这种语言编制索引 例如“سلام” 我使用此代码创建文档: public function __construct($class, $key, $title,$contents, $summary, $createdBy, $dateCreated) { $this->addField(Zend_Search_Lucene_Field::Keyword('docRef', "$cla
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::Keyword('dateCreated', $dateCreated));
}
添加此(最佳位置引导)
添加此(最佳位置引导)
我遇到了@afsane报告的相同问题,然后我尝试了@ArneRie提供的解决方案。它确实解决了我的问题,但经过一些测试,我意识到第一行是不需要的(至少在我目前的设置中) 因此,对我有效的解决方案是在创建索引之前显式设置默认分析器: Zend_Search_Lucene_Analysis_Analyzer::setDefault( 新Zend_Search_Lucene_Analysis_Analyzer_Common_Utf8_CaseSensitive()); $index=Zend_Search_Lucene::create('/path/to/my/index');
在打开索引进行查询之前,我不需要显式设置默认分析器。我遇到了@afsane报告的相同问题,然后我尝试了@ArneRie提供的解决方案。它确实解决了我的问题,但经过一些测试,我意识到第一行是不需要的(至少在我目前的设置中) 因此,对我有效的解决方案是在创建索引之前显式设置默认分析器: Zend_Search_Lucene_Analysis_Analyzer::setDefault( 新Zend_Search_Lucene_Analysis_Analyzer_Common_Utf8_CaseSensitive()); $index=Zend_Search_Lucene::create('/path/to/my/index'); 不过,在打开索引进行查询之前,我不需要显式设置默认分析器
Zend_Search_Lucene_Search_QueryParser::setDefaultEncoding('utf-8');
Zend_Search_Lucene_Analysis_Analyzer::setDefault(
new Zend_Search_Lucene_Analysis_Analyzer_Common_Utf8_CaseInsensitive ()
);