mirror of
https://github.com/silverstripe/silverstripe-fulltextsearch
synced 2024-10-22 12:05:29 +00:00
SS 4.0 - Upgrade FullTextSearch, queries and updaters
This commit is contained in:
parent
590ac4cb25
commit
022575fadb
@ -3,7 +3,10 @@
|
||||
namespace SilverStripe\FullTextSearch\Search;
|
||||
|
||||
use SilverStripe\Core\Config\Config;
|
||||
use SilverStripe\ORM\DataObject;
|
||||
use SilverStripe\Core\ClassInfo;
|
||||
use ReflectionClass;
|
||||
|
||||
/**
|
||||
* Base class to manage active search indexes.
|
||||
*/
|
||||
|
@ -1,11 +1,15 @@
|
||||
<?php
|
||||
namespace SilverStripe\FullTextSearch\Search\Indexes;
|
||||
|
||||
namespace SilverStripe\FullTextSearch\Search\Queries;
|
||||
|
||||
use SilverStripe\View\ViewableData;
|
||||
use stdClass;
|
||||
|
||||
/**
|
||||
* Represents a search query
|
||||
*
|
||||
* API very much still in flux.
|
||||
*/
|
||||
use SilverStripe\View\ViewableData;
|
||||
class SearchQuery extends ViewableData
|
||||
{
|
||||
public static $missing = null;
|
||||
|
@ -6,6 +6,7 @@ use SilverStripe\ORM\DB;
|
||||
use SilverStripe\Core\Object;
|
||||
use SilverStripe\FullTextSearch\Search\Variants\SearchVariant;
|
||||
use SilverStripe\ORM\DataObject;
|
||||
use SilverStripe\Dev\SapphireTest;
|
||||
use SilverStripe\FullTextSearch\Search\FullTextSearch;
|
||||
use SilverStripe\FullTextSearch\Search\SearchIntrospection;
|
||||
use SilverStripe\Core\Injector\Injector;
|
||||
@ -173,9 +174,8 @@ class SearchUpdater extends Object
|
||||
|
||||
// Don't do it if we're testing - there's no database connection outside the test methods, so we'd
|
||||
// just get errors
|
||||
$runningTests = class_exists('SapphireTest', false) && SapphireTest::is_running_test();
|
||||
|
||||
if (self::$processor && !self::$registered && !$runningTests) {
|
||||
if (self::$processor && !self::$registered && !SapphireTest::is_running_test()) {
|
||||
register_shutdown_function(array(SearchUpdater::class, "flush_dirty_indexes"));
|
||||
self::$registered = true;
|
||||
}
|
||||
@ -203,6 +203,3 @@ class SearchUpdater extends Object
|
||||
self::$processor = null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -1,7 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace SilverStripe\FullTextSearch\Search\Updaters;
|
||||
|
||||
use SilverStripe\ORM\DataExtension;
|
||||
use SilverStripe\FullTextSearch\Search\Variants\SearchVariant;
|
||||
use SilverStripe\ORM\DataObject;
|
||||
|
||||
/**
|
||||
* Delete operations do not use database manipulations.
|
||||
@ -43,7 +46,7 @@ class SearchUpdater_ObjectHandler extends DataExtension
|
||||
$id = $this->owner->ID;
|
||||
$class = $this->owner->ClassName;
|
||||
$state = SearchVariant::current_state($class);
|
||||
$base = ClassInfo::baseDataClass($class);
|
||||
$base = DataObject::getSchema()->baseDataClass($class);
|
||||
$key = "$id:$base:".serialize($state);
|
||||
|
||||
$statefulids = array(array(
|
||||
@ -63,4 +66,4 @@ class SearchUpdater_ObjectHandler extends DataExtension
|
||||
|
||||
SearchUpdater::process_writes($writes);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user