@java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
      return true;
    }
    if (!(obj instanceof com.google.cloud.visionai.v1.DataSchemaDetails)) {
      return super.equals(obj);
    }
    com.google.cloud.visionai.v1.DataSchemaDetails other =
        (com.google.cloud.visionai.v1.DataSchemaDetails) obj;

    if (hasType() != other.hasType()) return false;
    if (hasType()) {
      if (type_ != other.type_) return false;
    }
    if (hasProtoAnyConfig() != other.hasProtoAnyConfig()) return false;
    if (hasProtoAnyConfig()) {
      if (!getProtoAnyConfig().equals(other.getProtoAnyConfig())) return false;
    }
    if (hasListConfig() != other.hasListConfig()) return false;
    if (hasListConfig()) {
      if (!getListConfig().equals(other.getListConfig())) return false;
    }
    if (hasCustomizedStructConfig() != other.hasCustomizedStructConfig()) return false;
    if (hasCustomizedStructConfig()) {
      if (!getCustomizedStructConfig().equals(other.getCustomizedStructConfig())) return false;
    }
    if (hasGranularity() != other.hasGranularity()) return false;
    if (hasGranularity()) {
      if (granularity_ != other.granularity_) return false;
    }
    if (hasSearchStrategy() != other.hasSearchStrategy()) return false;
    if (hasSearchStrategy()) {
      if (!getSearchStrategy().equals(other.getSearchStrategy())) return false;
    }
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }
<pre>
The search strategy to be applied on the `key` above.
</pre>

<code>.google.cloud.visionai.v1.DataSchemaDetails.SearchStrategy search_strategy = 7;</code>
java-visionai/proto-google-cloud-visionai-v1/src/main/java/com/google/cloud/visionai/v1/DataSchemaDetails.java