mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-05-14 13:42:04 +00:00
check if query term for full text search is valid
This commit is contained in:
parent
9c469b4fd0
commit
c2dc213acf
|
@ -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 {{{
|
||||||
|
|
Loading…
Reference in New Issue
Block a user