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;
|
namespace SilverStripe\FullTextSearch\Search;
|
||||||
|
|
||||||
use SilverStripe\Core\Config\Config;
|
use SilverStripe\Core\Config\Config;
|
||||||
|
use SilverStripe\ORM\DataObject;
|
||||||
use SilverStripe\Core\ClassInfo;
|
use SilverStripe\Core\ClassInfo;
|
||||||
|
use ReflectionClass;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Base class to manage active search indexes.
|
* Base class to manage active search indexes.
|
||||||
*/
|
*/
|
||||||
|
@ -1,11 +1,15 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace SilverStripe\FullTextSearch\Search\Indexes;
|
|
||||||
|
namespace SilverStripe\FullTextSearch\Search\Queries;
|
||||||
|
|
||||||
|
use SilverStripe\View\ViewableData;
|
||||||
|
use stdClass;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a search query
|
* Represents a search query
|
||||||
*
|
*
|
||||||
* API very much still in flux.
|
* API very much still in flux.
|
||||||
*/
|
*/
|
||||||
use SilverStripe\View\ViewableData;
|
|
||||||
class SearchQuery extends ViewableData
|
class SearchQuery extends ViewableData
|
||||||
{
|
{
|
||||||
public static $missing = null;
|
public static $missing = null;
|
||||||
|
@ -6,6 +6,7 @@ use SilverStripe\ORM\DB;
|
|||||||
use SilverStripe\Core\Object;
|
use SilverStripe\Core\Object;
|
||||||
use SilverStripe\FullTextSearch\Search\Variants\SearchVariant;
|
use SilverStripe\FullTextSearch\Search\Variants\SearchVariant;
|
||||||
use SilverStripe\ORM\DataObject;
|
use SilverStripe\ORM\DataObject;
|
||||||
|
use SilverStripe\Dev\SapphireTest;
|
||||||
use SilverStripe\FullTextSearch\Search\FullTextSearch;
|
use SilverStripe\FullTextSearch\Search\FullTextSearch;
|
||||||
use SilverStripe\FullTextSearch\Search\SearchIntrospection;
|
use SilverStripe\FullTextSearch\Search\SearchIntrospection;
|
||||||
use SilverStripe\Core\Injector\Injector;
|
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
|
// Don't do it if we're testing - there's no database connection outside the test methods, so we'd
|
||||||
// just get errors
|
// 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"));
|
register_shutdown_function(array(SearchUpdater::class, "flush_dirty_indexes"));
|
||||||
self::$registered = true;
|
self::$registered = true;
|
||||||
}
|
}
|
||||||
@ -203,6 +203,3 @@ class SearchUpdater extends Object
|
|||||||
self::$processor = null;
|
self::$processor = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace SilverStripe\FullTextSearch\Search\Updaters;
|
namespace SilverStripe\FullTextSearch\Search\Updaters;
|
||||||
|
|
||||||
use SilverStripe\ORM\DataExtension;
|
use SilverStripe\ORM\DataExtension;
|
||||||
|
use SilverStripe\FullTextSearch\Search\Variants\SearchVariant;
|
||||||
|
use SilverStripe\ORM\DataObject;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete operations do not use database manipulations.
|
* Delete operations do not use database manipulations.
|
||||||
@ -43,7 +46,7 @@ class SearchUpdater_ObjectHandler extends DataExtension
|
|||||||
$id = $this->owner->ID;
|
$id = $this->owner->ID;
|
||||||
$class = $this->owner->ClassName;
|
$class = $this->owner->ClassName;
|
||||||
$state = SearchVariant::current_state($class);
|
$state = SearchVariant::current_state($class);
|
||||||
$base = ClassInfo::baseDataClass($class);
|
$base = DataObject::getSchema()->baseDataClass($class);
|
||||||
$key = "$id:$base:".serialize($state);
|
$key = "$id:$base:".serialize($state);
|
||||||
|
|
||||||
$statefulids = array(array(
|
$statefulids = array(array(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user