Zend_Search_Lucene
에서 색인 생성을 위해 아래 코드를 사용하고 있으며 기본 분석기를 숫자 값을 검색하도록 변경했습니다. Zend_Search_Lucene에서 @와 같은 특수 문자에 대한 검색어를 적용하는 방법은 무엇입니까?
public function executeIndexIT() {
$path = '/home/project/mgh/lib/';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
require_once '/home/project/mgh/lib/Zend/Search/Lucene.php';
Zend_Search_Lucene_Analysis_Analyzer::setDefault(new Zend_Search_Lucene_Analysis_Analyzer_Common_TextNum_CaseInsensitive());
$index = new Zend_Search_Lucene('/home/project/mgh/data/search_file/lucene.customer.index',true);
$filenames1='/home/project/mgh/web/cvcollection/data8/ASBABranches10546.pdf';
$filenames2='/home/project/mgh/web/cvcollection/data2/manoj_new10550.pdf';
$fc1=htmlentities("'".$this->ConvertPDF($filenames1)."'");
$fc2=htmlentities("'".$this->ConvertPDF($filenames2)."'");
$doc = new Zend_Search_Lucene_Document();
$doc->addField(Zend_Search_Lucene_Field::unIndexed('URL', $filenames1));
$doc->addField(Zend_Search_Lucene_Field::text('contents',$fc1));
$index->addDocument($doc);
$doc = new Zend_Search_Lucene_Document();
$doc->addField(Zend_Search_Lucene_Field::unIndexed('URL', $filenames2));
$doc->addField(Zend_Search_Lucene_Field::text('contents',$fc2));
$index->addDocument($doc);
$index->commit();
exit;
}
및 검색을위한 색인 후에 내가 코드 조각 아래 사용하고
:public function executeSearchLucene() {
$path = '/home/project/mgh/lib/';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
require_once('Zend/Search/Lucene.php');
Zend_Search_Lucene_Analysis_Analyzer::setDefault(new Zend_Search_Lucene_Analysis_Analyzer_Common_TextNum_CaseInsensitive());
$hits = array();
$txtSearch='@';
try {
$query = Zend_Search_Lucene_Search_QueryParser::parse($txtSearch);
} catch (Zend_Search_Lucene_Search_QueryParserException $e) {
echo "Query syntax error: " . $e->getMessage() . "\n";
}
$index = new Zend_Search_Lucene('/home/project/mgh/data/search_file/lucene.customer.index');
//**added on 29 may**/
$results = $index->find($query);
echo count($results);
foreach ($results as $result) {
echo "<pre>";
var_dump($result->URL);
}
exit;
}
여기 $fc2
몇 이메일 주소를 포함하고 나는 그들을 위해 검색해야합니다. 하지만 0 히트를 얻고 있습니다.
또는 !
과 같은 문자를 검색하는 방법 Zend_Search_Lucene
?