diff --git a/custom_solr_search.services.yml b/custom_solr_search.services.yml
index aea5932..b810fb1 100644
--- a/custom_solr_search.services.yml
+++ b/custom_solr_search.services.yml
@@ -13,3 +13,7 @@ services:
     class: Drupal\custom_solr_search\SearchSolrAll
     arguments: []
 
+  custom_solr_search.filter_query_settings:
+    class: Drupal\custom_solr_search\FilterQuerySettings
+    arguments: []
+
diff --git a/src/FilterQuerySettings.php b/src/FilterQuerySettings.php
new file mode 100644
index 0000000..1c0e82e
--- /dev/null
+++ b/src/FilterQuerySettings.php
@@ -0,0 +1,75 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\custom_solr_search\FilterQuerySettings.
+ */
+
+namespace Drupal\custom_solr_search;
+
+use Drupal\Core\Database\Database;
+/**
+ * Class FilterQuerySettings.
+ *
+ * @package Drupal\custom_solr_search
+ */
+class FilterQuerySettings {
+  /**
+   * Constructor.
+   */
+  public function __construct() {
+
+  }
+
+  public function getFilterQuerySetings(){
+    $connection = Database::getConnection();
+    $query = $connection->select('config', 'c')
+      ->fields('c', array('data'))
+      ->condition('c.name', '%custom_solr_search.custom_solr_search_filter_query.%', 'LIKE');
+    $results = $query->execute();
+    $results = $results->fetchAll(\PDO::FETCH_OBJ);
+    foreach ($results as $result) {
+      $id = unserialize($result->data)['id'];
+      $settings[$id] = unserialize($result->data);
+    }
+    return $settings;
+  }
+
+  /**
+   * by passing the setting id, you will be getting the filter query string.
+   * @param $filter_setting_id
+   *   Machine name of the settings.
+   * @return
+   */
+  public function getFilterQueryString($filter_setting_id){
+    $connection = Database::getConnection();
+    $query = $connection->select('config', 'c')
+      ->fields('c', array('data'))
+      ->condition('c.name', '%custom_solr_search.custom_solr_search_filter_query.%', 'LIKE');
+    $results = $query->execute();
+    $results = $results->fetchAll(\PDO::FETCH_OBJ);
+    foreach ($results as $result) {
+      $id = unserialize($result->data)['id'];
+      $settings[$id] = unserialize($result->data);
+    }
+    return $settings[$filter_setting_id]['filter'];
+  }
+
+  /**
+   * @return mixed
+   *   return an array that have all the setting ids.
+   */
+  public function getFilterQuerySetingids(){
+    $connection = Database::getConnection();
+    $query = $connection->select('config', 'c')
+      ->fields('c', array('data'))
+      ->condition('c.name', '%custom_solr_search.custom_solr_search_filter_query.%', 'LIKE');
+    $results = $query->execute();
+    $results = $results->fetchAll(\PDO::FETCH_OBJ);
+    foreach ($results as $result) {
+      $id = unserialize($result->data)['id'];
+      $settings[$id] = $id;
+    }
+    return $settings;
+  }
+}
