2011-06-03 92 views
5

我在我的ZF项目下面的代码:Zend搜索Lucene和波斯语言!

$index = Zend_Search_Lucene::open(APPLICATION_PATH . '/cache/search_index'); 
     $doc = new Zend_Search_Lucene_Document(); 

     $title = "سلام سینا xxx sad"; 



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

     $index->addDocument($doc); 
     $index->commit(); 

     $index->optimize(); 
     echo "Index contains " . $index->count() . " documents.\n\n"; 
     $results = $index->find('xxx'); 
     foreach ($results as $res) { 


      var_dump($res->title); 
     } 

时执行的var_dump输出 - > 字符串(39) “سیناجانXXX伤心”

当我用户utf_decode string(25)“س ?ا ?س ? ?xxx xxx sad”

如何正确解码! ?:(

我已经使用这个SOF quesion解决方案! - >lucene encoding problem in zend framework

而不是作品和通知附加误差约的iconv

plz帮助:)

+0

萨拉姆,男人数据RO AZ数据库miaram VA ghabl AZ指数kardanesh dorost neshun酰胺瓦利vaghti documentam RO指数mikonam VAŸreshteË波斯语搜索mikonam natije我我nemibinam,主意ii达林? – 2014-12-30 07:29:32

+0

@SamiraKhorshidi lotf kon finglish nanevis inja ... lotfan biain to gmail ... codeton ro bayad bebinam [email protected] – 2014-12-30 18:54:04

+0

mamnun,moshkel hal shod inam rahe hal :) https://stackoverflow.com/questions/5834861/ lucene-encoding-problem-in-zend-framework/5834910#5834910 – 2014-12-31 07:30:37

回答

0

通过这个固定码:

$index = Zend_Search_Lucene::open(APPLICATION_PATH . '/cache/search_index'); 
    $doc = new Zend_Search_Lucene_Document(); 

    $title = "سلام سینا xxx sad"; 



    $doc->addField(Zend_Search_Lucene_Field::Text('title', $title,"UTF8")); 

    $index->addDocument($doc); 
    $index->commit(); 

    $index->optimize(); 
    echo "Index contains " . $index->count() . " documents.\n\n"; 



    var_dump($index->getDocument(9)); 

    echo "Search"; 
    $results = $index->find('سینا'); 
    foreach ($results as $res) { 


     var_dump($res->title); 
    } 

    die(1);