diff --git a/src/Plugin/Block/CustomSolrSearchResultBlock.php b/src/Plugin/Block/CustomSolrSearchResultBlock.php
index 6deff22..246092a 100644
--- a/src/Plugin/Block/CustomSolrSearchResultBlock.php
+++ b/src/Plugin/Block/CustomSolrSearchResultBlock.php
@@ -9,6 +9,7 @@ use Drupal\custom_solr_search\SolrServerDetails;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 use Drupal\custom_solr_search\Search;
 use Drupal\custom_solr_search\SearchSolrAll;
+use Drupal\custom_solr_search\FilterQuerySettings;
 
 /**
  * Provides a 'Result' Block
@@ -58,9 +59,10 @@ class CustomSolrSearchResultBlock extends BlockBase implements ContainerFactoryP
    *   Custom Solr search service for all core.
    */
   public function __construct(
-  array $configuration, $plugin_id, $plugin_definition, Search $search, SolrServerDetails $serverDetails, SearchSolrAll $searchall
+  array $configuration, $plugin_id, $plugin_definition, FilterQuerySettings $filtertQueryIds, Search $search, SolrServerDetails $serverDetails, SearchSolrAll $searchall
   ) {
     parent::__construct($configuration, $plugin_id, $plugin_definition);
+    $this->filtertQueryIds = $filtertQueryIds;
     $this->search = $search;
     $this->serverDetails = $serverDetails;
     $this->searchall = $searchall;
@@ -72,40 +74,16 @@ class CustomSolrSearchResultBlock extends BlockBase implements ContainerFactoryP
   public function blockForm($form, FormStateInterface $form_state) {
     $form = parent::blockForm($form, $form_state);
 
-    // Get the Core Details.
-    $servers = array('all' => 'ALL');
-    $servers += $this->serverDetails->getServers();
+    // Get the Filter Query Details.
+    $filters = $this->filtertQueryIds->getFilterQuerySetingids();
 
     // Get the configurations.
     $config = $this->getConfiguration();
-
-    $form['custom_solr_result_selection'] = [
-      '#type' => 'radios',
-      '#title' => $this->t('Select the Solr Result Option'),
-      '#default_value' => isset($config['custom_solr_result_selection']) ? $config['custom_solr_result_selection'] : '',
-      '#options' => array('core' => $this->t('Core'), 'type' => $this->t('Type')),
-    ];
-    $form['custom_block_servers'] = [
+    $form['custom_block_filters'] = [
       '#type' => 'select',
-      '#title' => $this->t('Select Server Name'),
-      '#options' => $servers,
-      '#default_value' => isset($config['custom_block_servers']) ? $config['custom_block_servers'] : '',
-      '#states' => array(
-        'visible' => array(
-          ':input[name="settings[custom_solr_result_selection]"]' => array('value' => 'core'),
-        ),
-      ),
-    ];
-    $form['custom_block_type_filter'] = [
-      '#type' => 'textfield',
-      '#title' => $this->t('Custom Identifier'),
-      '#description' => $this->t('Add the multiple filter identifier with AND/OR operator in SOLR based on you can differentiate the blocks.e.g. (format:"Note" OR format:"Article") AND (id: "ir-10054-5936").'),
-      '#default_value' => isset($config['custom_block_type_filter']) ? $config['custom_block_type_filter'] : '',
-      '#states' => array(
-        'visible' => array(
-          ':input[name="settings[custom_solr_result_selection]"]' => array('value' => 'type'),
-        ),
-      ),
+      '#title' => $this->t('Select the Filter query Settings'),
+      '#options' => $filters,
+      '#default_value' => isset($config['custom_block_filters']) ? $config['custom_block_filters'] : '',
     ];
     $form['custom_solr_search_keyword_argument'] = [
       '#type' => 'number',
@@ -122,9 +100,7 @@ class CustomSolrSearchResultBlock extends BlockBase implements ContainerFactoryP
    * {@inheritdoc}
    */
   public function blockSubmit($form, FormStateInterface $form_state) {
-    $this->setConfigurationValue('custom_block_servers', $form_state->getValue('custom_block_servers'));
-    $this->setConfigurationValue('custom_block_type_filter', $form_state->getValue('custom_block_type_filter'));
-    $this->setConfigurationValue('custom_solr_result_selection', $form_state->getValue('custom_solr_result_selection'));
+    $this->setConfigurationValue('custom_block_filters', $form_state->getValue('custom_block_filters'));
     $this->setConfigurationValue('custom_solr_search_keyword_argument', $form_state->getValue('custom_solr_search_keyword_argument'));
   }
 
@@ -136,19 +112,21 @@ class CustomSolrSearchResultBlock extends BlockBase implements ContainerFactoryP
     $args = explode('/', $path);
 
     $config = $this->getConfiguration();
+    $filterId = $config['custom_block_filters'];
+    $filterQuerySettings = $this->filtertQueryIds->getFilterQueryString($filterId);
     // Get the keyword argument.
     $argument_keyword = $config['custom_solr_search_keyword_argument'];
     $keyword = $args[$argument_keyword];
     // Check the block configuration and search the results.
     // If selected the core.
-    if ($config['custom_solr_result_selection'] == 'core') {
-      $server = $config['custom_block_servers'];
-      $results = $this->search->basicSearch($keyword, 0, 5, $server);
+
+    if ($filterQuerySettings['server'] == 'all'){
+      $options = $filterQuerySettings['filter'];
+      $results = $this->searchall->seachAll($keyword, $options);
     }
-    // Select the type.
     else {
-      $options = $config['custom_block_type_filter'];
-      $results = $this->searchall->seachAll($keyword, $options);
+      $server = $filterQuerySettings['server'];
+      $results = $this->search->basicSearch($keyword, 0, 5, $server);
     }
     // Format result to display as unformatted list.
     if (!empty($results)) {
@@ -197,7 +175,7 @@ class CustomSolrSearchResultBlock extends BlockBase implements ContainerFactoryP
    */
   public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
     return new static(
-        $configuration, $plugin_id, $plugin_definition, $container->get('custom_solr_search.search'), $container->get('custom_solr_search.solr_servers'), $container->get('custom_solr_search.search_all')
+        $configuration, $plugin_id, $plugin_definition, $container->get('custom_solr_search.filter_query_settings') ,$container->get('custom_solr_search.search'), $container->get('custom_solr_search.solr_servers'), $container->get('custom_solr_search.search_all')
     );
   }
 
