/** * Clear search index that is associated with this object * * @param void * @return boolean */ function clearSearchIndex() { return SearchableObjects::dropContentByObject($this); }
/** * Save object. If object is searchable this function will add conetent of searchable fields * to search index * * @param void * @return boolean */ function save() { $result = parent::save(); // If searchable refresh content in search table if ($this->isSearchable()) { SearchableObjects::dropContentByObject($this); $project = $this->getProject(); foreach ($this->getSearchableColumns() as $column_name) { $content = $this->getSearchableColumnContent($column_name); if (trim($content) != '') { $searchable_object = new SearchableObject(); $searchable_object->setRelObjectManager(get_class($this->manager())); $searchable_object->setRelObjectId($this->getObjectId()); $searchable_object->setColumnName($column_name); $searchable_object->setContent($content); if ($project instanceof Project) { $searchable_object->setProjectId($project->getId()); } $searchable_object->setIsPrivate($this->isPrivate()); $searchable_object->save(); } // if } // if } // if return $result; }