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