diff --git a/Filter/PrefixFilter.php b/Filter/PrefixFilter.php
index c1fda8c2431566ca98a5ec3d1fba6f66292d5f47..aab05a88a817078816b06818c4ce4c50361b2a53 100644
--- a/Filter/PrefixFilter.php
+++ b/Filter/PrefixFilter.php
@@ -26,12 +26,12 @@ class PrefixFilter implements BuilderInterface
     /**
      * @var string
      */
-    private $field;
+    protected $field;
 
     /**
      * @var string
      */
-    private $value;
+    protected $value;
 
     /**
      * @param string $field      Field name.
diff --git a/Query/PrefixQuery.php b/Query/PrefixQuery.php
index 62b1bd6e8a59904da5ba447927927a26f3dd2656..51e9e11ad02d3efedc499673b4f5308b1fa708fe 100644
--- a/Query/PrefixQuery.php
+++ b/Query/PrefixQuery.php
@@ -11,46 +11,13 @@
 
 namespace ONGR\ElasticsearchBundle\DSL\Query;
 
-use ONGR\ElasticsearchBundle\DSL\BuilderInterface;
-use ONGR\ElasticsearchBundle\DSL\ParametersTrait;
+use ONGR\ElasticsearchBundle\DSL\Filter\PrefixFilter;
 
 /**
  * Represents Elasticsearch "prefix" query.
  */
-class PrefixQuery implements BuilderInterface
+class PrefixQuery extends PrefixFilter
 {
-    use ParametersTrait;
-
-    /**
-     * @var string
-     */
-    private $field;
-
-    /**
-     * @var string
-     */
-    private $value;
-
-    /**
-     * @param string $field      Field name.
-     * @param string $value      Value.
-     * @param array  $parameters Optional parameters.
-     */
-    public function __construct($field, $value, array $parameters = [])
-    {
-        $this->field = $field;
-        $this->value = $value;
-        $this->setParameters($parameters);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getType()
-    {
-        return 'prefix';
-    }
-
     /**
      * {@inheritdoc}
      */