BUGFIX: Converted reindex queries to use DataList/DataQuery instead of deprecated buoldSQL() on DataObject
This commit is contained in:
parent
48e95637cd
commit
9ac7502394
|
@ -67,7 +67,7 @@ abstract class SearchVariant {
|
|||
$concrete = array();
|
||||
foreach ($classes as $variantclass) {
|
||||
foreach(self::$dependentClasses as $dependency) {
|
||||
// Rather relies on variants being named similalrly to their dependencies
|
||||
// Rather relies on variants being named similarly to their dependencies
|
||||
if(preg_match("#$dependency#i",$variantclass) && class_exists($dependency)) {
|
||||
$ref = new ReflectionClass($variantclass);
|
||||
if ($ref->isInstantiable()) $concrete[$variantclass] = singleton($variantclass);
|
||||
|
|
|
@ -90,7 +90,7 @@ class Solr_Configure extends BuildTask {
|
|||
case 'file':
|
||||
$local = $index['path'];
|
||||
$remote = isset($index['remotepath']) ? $index['remotepath'] : $local;
|
||||
|
||||
|
||||
foreach (Solr::get_indexes() as $index => $instance) {
|
||||
$confdir = "$local/$index/conf";
|
||||
if (!is_dir($confdir)) mkdir($confdir, 0770, true);
|
||||
|
@ -101,7 +101,7 @@ class Solr_Configure extends BuildTask {
|
|||
if (is_file($file)) copy($file, $confdir.'/'.basename($file));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
break;
|
||||
|
||||
case 'webdav':
|
||||
|
@ -111,7 +111,7 @@ class Solr_Configure extends BuildTask {
|
|||
Solr::$solr_options['host'] . ':' . Solr::$solr_options['port'],
|
||||
$index['path']
|
||||
));
|
||||
|
||||
|
||||
$remote = $index['remotepath'];
|
||||
|
||||
foreach (Solr::get_indexes() as $index => $instance) {
|
||||
|
@ -127,7 +127,7 @@ class Solr_Configure extends BuildTask {
|
|||
if (is_file($file)) WebDAV::upload_from_file($file, $confdir.'/'.basename($file));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -162,20 +162,17 @@ class Solr_Reindex extends BuildTask {
|
|||
|
||||
foreach ($instance->getClasses() as $class => $options) {
|
||||
$includeSubclasses = $options['include_children'];
|
||||
|
||||
|
||||
foreach (SearchVariant::reindex_states($class, $includeSubclasses) as $state) {
|
||||
SearchVariant::activate_state($state);
|
||||
|
||||
|
||||
$filter = $includeSubclasses ? "" : '"ClassName" = \''.$class."'";
|
||||
|
||||
$singleton = singleton($class);
|
||||
|
||||
$query = $singleton->buildSQL($filter);
|
||||
$query->select('COUNT("'.$class.'"."ID")');
|
||||
$query->orderby = null;
|
||||
$singleton->extend('augmentSQL', $query);
|
||||
|
||||
$total = $query->execute()->value();
|
||||
$query = $singleton->get($class,$filter,null);
|
||||
$dtaQuery = $query->dataQuery();
|
||||
$sqlQuery = $dtaQuery->getFinalisedQuery();
|
||||
$singleton->extend('augmentSQL',$sqlQuery,$dtaQuery);
|
||||
$total = $query->count();
|
||||
|
||||
$statevar = json_encode($state);
|
||||
echo "Class: $class, total: $total in state $statevar\n";
|
||||
|
@ -185,7 +182,7 @@ class Solr_Reindex extends BuildTask {
|
|||
|
||||
for ($offset = 0; $offset < $total; $offset += $this->stat('recordsPerRequest')) {
|
||||
echo "$offset..";
|
||||
|
||||
|
||||
$res = `php $script dev/tasks/$self index=$index class=$class start=$offset variantstate=$statevar`;
|
||||
if (isset($_GET['verbose'])) echo "\n ".preg_replace('/\r\n|\n/', '$0 ', $res)."\n";
|
||||
|
||||
|
|
Loading…
Reference in New Issue