diff --git a/vendor/magento/module-advanced-sales-rule/Model/ResourceModel/Rule/Condition/Filter.php b/vendor/magento/module-advanced-sales-rule/Model/ResourceModel/Rule/Condition/Filter.php
index 3d98979b41f9..609b130cb525 100644
--- a/vendor/magento/module-advanced-sales-rule/Model/ResourceModel/Rule/Condition/Filter.php
+++ b/vendor/magento/module-advanced-sales-rule/Model/ResourceModel/Rule/Condition/Filter.php
@@ -5,9 +5,9 @@
  */
 namespace Magento\AdvancedSalesRule\Model\ResourceModel\Rule\Condition;
 
-use Magento\AdvancedRule\Model\Condition\FilterInterface;
 use Magento\AdvancedRule\Model\Condition\Filter as FilterModel;
-use Magento\Quote\Model\Quote\Address;
+use Magento\Framework\Exception\LocalizedException;
+use Magento\Framework\DB\Select;
 
 class Filter extends \Magento\Rule\Model\ResourceModel\AbstractResource
 {
@@ -23,7 +23,7 @@ protected function _construct()
 
     /**
      * @return array
-     * @throws \Magento\Framework\Exception\LocalizedException
+     * @throws LocalizedException
      */
     public function getFilterTextGenerators()
     {
@@ -51,6 +51,20 @@ public function getFilterTextGenerators()
      * @return array
      */
     public function filterRules(array $filterText)
+    {
+        $connection = $this->getConnection();
+        $results = $connection->fetchAssoc($this->getFilterRulesSelect($filterText));
+        return array_keys($results);
+    }
+
+    /**
+     * Returns a select for filter rules
+     *
+     * @param array $filterText
+     * @return Select
+     * @throws LocalizedException
+     */
+    private function getFilterRulesSelect(array $filterText): Select
     {
         $connection = $this->getConnection();
         $select = $connection->select()->from(
@@ -66,8 +80,7 @@ public function filterRules(array $filterText)
         )->having(
             'sum(weight) > 0.999'
         );
-        $results = $connection->fetchAssoc($select);
-        return array_keys($results);
+        return $select;
     }
 
     /**
diff --git a/vendor/magento/module-advanced-sales-rule/etc/db_schema.xml b/vendor/magento/module-advanced-sales-rule/etc/db_schema.xml
index cabb9d9bc3a8..d5d06f92b49f 100644
--- a/vendor/magento/module-advanced-sales-rule/etc/db_schema.xml
+++ b/vendor/magento/module-advanced-sales-rule/etc/db_schema.xml
@@ -34,10 +34,11 @@
         <index referenceId="MAGENTO_SALESRULE_FILTER_RULE_ID" indexType="btree">
             <column name="rule_id"/>
         </index>
-        <index referenceId="MAGENTO_SALESRULE_FILTER_FILTER_TEXT_RULE_ID_GROUP_ID" indexType="btree">
+        <index referenceId="MAGENTO_SALESRULE_FILTER_FILTER_TEXT_RULE_ID_GROUP_ID_WEIGHT" indexType="btree">
             <column name="filter_text"/>
             <column name="rule_id"/>
             <column name="group_id"/>
+            <column name="weight"/>
         </index>
     </table>
 </schema>
diff --git a/vendor/magento/module-advanced-sales-rule/etc/db_schema_whitelist.json b/vendor/magento/module-advanced-sales-rule/etc/db_schema_whitelist.json
index f6b7a7cca568..378ef5e7ad4d 100644
--- a/vendor/magento/module-advanced-sales-rule/etc/db_schema_whitelist.json
+++ b/vendor/magento/module-advanced-sales-rule/etc/db_schema_whitelist.json
@@ -12,7 +12,8 @@
         "index": {
             "IDX_0270DA9E161D3DE2428F005FE39B89C8": true,
             "MAGENTO_SALESRULE_FILTER_RULE_ID": true,
-            "MAGENTO_SALESRULE_FILTER_FILTER_TEXT_RULE_ID_GROUP_ID": true
+            "MAGENTO_SALESRULE_FILTER_FILTER_TEXT_RULE_ID_GROUP_ID": true,
+            "MAGENTO_SALESRULE_FILTER_FILTER_TEXT_RULE_ID_GROUP_ID_WEIGHT": true
         },
         "constraint": {
             "PRIMARY": true,
