protected function _prepareQuery()
{
if (!$this->_query_string) {
throw new \Exception("Error query string cannot be empty");
}
$q = $this->_query_string;
$queryArticle = new Query();
$queryArticle->select('name, preview_text, seourl, image')->from('article')->where(['like', 'name', $q])->orWhere(['like', 'preview_text', $q])->orWhere(['like', 'detail_text', $q])->orWhere(['like', 'soc_text', $q])->orWhere(['like', 'title', $q])->limit(10);
$queryStructure = new Query();
$queryStructure->select('label AS name, description AS preview_text, seourl, image')->from('structure')->where(['is_dir' => 0])->andWhere(['or', ['like', 'label', $q], ['like', 'content', $q], ['like', 'info', $q], ['like', 'title', $q]])->limit(10);
$queryArticle->union($queryStructure);
return $queryArticle;
}