check if query term for full text search is valid

This commit is contained in:
Uwe Steinmann 2013-06-17 10:49:55 +02:00
parent 9c469b4fd0
commit c2dc213acf

View File

@ -131,34 +131,44 @@ if(isset($_GET["fullsearch"]) && $_GET["fullsearch"]) {
}
Zend_Search_Lucene_Search_QueryParser::setDefaultEncoding('utf-8');
$index = Zend_Search_Lucene::open($settings->_luceneDir);
$lucenesearch = new SeedDMS_Lucene_Search($index);
$hits = $lucenesearch->search($query, $owner ? $owner->getLogin() : '', '', $categorynames);
$totalDocs = count($hits);
$totalFolders = 0;
$limit = 20;
$resArr = array();
if($pageNumber != 'all' && count($hits) > $limit) {
$resArr['totalPages'] = (int) (count($hits) / $limit);
if ((count($hits)%$limit) > 0)
$resArr['totalPages']++;
$hits = array_slice($hits, ($pageNumber-1)*$limit, $limit);
if(strlen($query) < 4 && strpos($query, '*')) {
$session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('splash_invalid_searchterm')));
$resArr = array();
$resArr['totalDocs'] = 0;
$resArr['totalFolders'] = 0;
$resArr['totalPages'] = 0;
$entries = array();
$searchTime = 0;
} else {
$resArr['totalPages'] = 1;
}
$index = Zend_Search_Lucene::open($settings->_luceneDir);
$lucenesearch = new SeedDMS_Lucene_Search($index);
$hits = $lucenesearch->search($query, $owner ? $owner->getLogin() : '', '', $categorynames);
$limit = 20;
$resArr = array();
$resArr['totalDocs'] = count($hits);
$resArr['totalFolders'] = 0;
if($pageNumber != 'all' && count($hits) > $limit) {
$resArr['totalPages'] = (int) (count($hits) / $limit);
if ((count($hits)%$limit) > 0)
$resArr['totalPages']++;
$hits = array_slice($hits, ($pageNumber-1)*$limit, $limit);
} else {
$resArr['totalPages'] = 1;
}
$entries = array();
if($hits) {
foreach($hits as $hit) {
if($tmp = $dms->getDocument($hit['document_id'])) {
if($tmp->getAccessMode($user) >= M_READ) {
$entries[] = $tmp;
$entries = array();
if($hits) {
foreach($hits as $hit) {
if($tmp = $dms->getDocument($hit['document_id'])) {
if($tmp->getAccessMode($user) >= M_READ) {
$entries[] = $tmp;
}
}
}
}
$searchTime = getTime() - $startTime;
$searchTime = round($searchTime, 2);
}
$searchTime = getTime() - $startTime;
$searchTime = round($searchTime, 2);
// }}}
} else {
// Search in Database {{{