8 – How can I run a view query in a controller?

I have a query formed in my view and I want to run this query to fetch result in controller. Basically I have create a title search with exposé filter and now i want on click search button i get desire result.

Below is my view query:

SELECT node_field_data.created AS node_field_data_created, node_field_data.nid AS nid, paragraphs_item_field_data_node__field_software_idas.id AS paragraphs_item_field_data_node__field_software_idas_id
        FROM
        {node_field_data} node_field_data
        LEFT JOIN {node__field_software_idas} node__field_software_idas ON node_field_data.nid = node__field_software_idas.entity_id AND node__field_software_idas.deleted = '0'
        LEFT JOIN {paragraphs_item_field_data} paragraphs_item_field_data_node__field_software_idas ON node__field_software_idas.field_software_idas_target_revision_id = paragraphs_item_field_data_node__field_software_idas.revision_id
        LEFT JOIN {node__field_secondary_banner} node__field_secondary_banner ON node_field_data.nid = node__field_secondary_banner.entity_id AND node__field_secondary_banner.deleted = '0' AND (node__field_secondary_banner.langcode = node_field_data.langcode OR node__field_secondary_banner.bundle = 'blog')
        LEFT JOIN {node__field_primary_banner} node__field_primary_banner ON node_field_data.nid = node__field_primary_banner.entity_id AND node__field_primary_banner.deleted = '0' AND (node__field_primary_banner.langcode = node_field_data.langcode OR node__field_primary_banner.bundle = 'blog')
        WHERE (node_field_data.status = '1') AND (node_field_data.type IN ('blog')) AND ((node_field_data.created < 1609396357+0)) AND (node_field_data.title LIKE '%fear%' ESCAPE '\') AND (node__field_secondary_banner.field_secondary_banner_value = '0') AND (node__field_primary_banner.field_primary_banner_value = '0')
        ORDER BY node_field_data_created DESC
        LIMIT 6 OFFSET 0

Below is my query in controller

$database = Drupal::database();

/*$markup = Drupal::service('renderer')->render(views_embed_view('blog_detail', 'block_1','fear'));
$response = new AjaxResponse();
$selector = '#publication_listing';
  $response->addCommand(new HtmlCommand($selector, $markup));

return $response;*/

$result = $database->query("SELECT node_field_data.created AS node_field_data_created, 
node_field_data.nid AS nid, paragraphs_item_field_data_node__field_software_idas.id AS 
paragraphs_item_field_data_node__field_software_idas_id
FROM
node_field_data.node_field_data
LEFT JOIN node__field_software_idas.node__field_software_idas ON node_field_data.nid = 
node__field_software_idas.entity_id
LEFT JOIN paragraphs_item_field_data.paragraphs_item_field_data_node__field_software_idas ON 
node__field_software_idas.field_software_idas_target_revision_id = 
paragraphs_item_field_data_node__field_software_idas.revision_id
LEFT JOIN node__field_secondary_banner.node__field_secondary_banner ON node_field_data.nid = 
node__field_secondary_banner.entity_id AND node__field_secondary_banner.deleted = '0' AND 
(node__field_secondary_banner.langcode = node_field_data.langcode OR 
node__field_secondary_banner.bundle = 'blog')
LEFT JOIN node__field_primary_banner.node__field_primary_banner ON node_field_data.nid = 
node__field_primary_banner.entity_id AND node__field_primary_banner.deleted = '0' AND 
(node__field_primary_banner.langcode = node_field_data.langcode OR node__field_primary_banner.bundle = 
'blog')
WHERE (node_field_data.status = '1') AND (node_field_data.type IN ('blog')) AND 
((node_field_data.created < 1609390539+0)) AND (node_field_data.title LIKE '%dgdfgf%' ESCAPE '\') AND 
(node__field_secondary_banner.field_secondary_banner_value = '0') AND 
(node__field_primary_banner.field_primary_banner_value = '0')
ORDER BY node_field_data_created DESC
LIMIT 6 OFFSET 0")->fetchAll();