Sunnysideup\SiteWideSearch\Api\SearchApi
Synopsis
class SearchApi
{
- // constants
- const CACHE_NAME = 'SearchApi';
- // members
- protected boolean $debug = false;
- protected boolean $isQuickSearch = false;
- protected $baseClass = DataObject::class;
- protected array $excludedClasses = ;
- protected array $excludedFields = ;
- protected array $words = ;
- protected array $cache = ;
- private static integer $limit_of_count_per_data_object = 999;
- private static integer $hours_back_for_recent = 48;
- private static integer $limit_per_class_for_recent = 5;
- private static array $default_exclude_classes = ;
- private static array $default_exclude_fields = ;
- // methods
- public void setDebug()
- public void setIsQuickSearch()
- public void setBaseClass()
- public void setExcludedClasses()
- public void setExcludedFields()
- public void setWordsAsString()
- public void setWords()
- public void addWord()
- public void getFileCache()
- public void initCache()
- public void saveCache()
- public void getLinks()
- protected void getMatches()
- protected void getDefaultList()
- protected void turnMatchesIntoList()
- protected void getSortValue()
- protected void workOutExclusions()
- protected void workOutWords()
- protected void getAllDataObjects()
- protected void getAllValidFields()
- protected void getIndexedFields()
- protected void isValidFieldType()
Hierarchy
Uses
- SilverStripe\Core\Extensible
- SilverStripe\Core\Config\Configurable
- SilverStripe\Core\Injector\Injectable
Constants
Name | Value |
---|---|
CACHE_NAME | 'SearchApi' |
Members
private
- $default_exclude_classes
- $default_exclude_fields
- $hours_back_for_recent
- $limit_of_count_per_data_object
- $limit_per_class_for_recent
protected
- $baseClass
- $cache
—
array
format is as follows: ```php [ 'AllDataObjects' => [ 'BaseClassUsed' => [ 0 => ClassNameA, 1 => ClassNameB, ], ], 'AllValidFields' => [ 'ClassNameA' => [ 'FieldA' => 'FieldA' ], ], 'IndexedFields' => [ 'ClassNameA' => [ 0 => ClassNameA, 1 => ClassNameB, ], ], 'ListOfTextClasses' => [ 0 => ClassNameA, 1 => ClassNameB, ], 'ValidFieldTypes' => [ 'Varchar(30)' => true, 'Boolean' => false, ], ], ``` we use true rather than false to be able to use empty to work out if it has been tested before. - $debug
- $excludedClasses
- $excludedFields
- $isQuickSearch
- $words