@java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + METADATA_FILTER_FIELD_NUMBER;
      hash = (53 * hash) + getMetadataFilter().hashCode();
      switch (vectorDbThresholdCase_) {
        case 3:
          hash = (37 * hash) + VECTOR_DISTANCE_THRESHOLD_FIELD_NUMBER;
          hash =
              (53 * hash)
                  + com.google.protobuf.Internal.hashLong(
                      java.lang.Double.doubleToLongBits(getVectorDistanceThreshold()));
          break;
        case 4:
          hash = (37 * hash) + VECTOR_SIMILARITY_THRESHOLD_FIELD_NUMBER;
          hash =
              (53 * hash)
                  + com.google.protobuf.Internal.hashLong(
                      java.lang.Double.doubleToLongBits(getVectorSimilarityThreshold()));
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }
<pre>
Optional. String for metadata filtering.
</pre>

<code>string metadata_filter = 2 [(.google.api.field_behavior) = OPTIONAL];</code>

@return The bytes for metadataFilter.
java-vertexai/proto-google-cloud-vertexai-v1/src/main/java/com/google/cloud/vertexai/api/RagRetrievalConfig.java