@Override
  public void readFrom(StreamInput in) throws IOException {
    super.readFrom(in);
    minScore = in.readFloat();

    querySource = in.readBytesReference();

    int typesSize = in.readVInt();
    if (typesSize > 0) {
      types = new String[typesSize];
      for (int i = 0; i < typesSize; i++) {
        types[i] = in.readString();
      }
    }
    int aliasesSize = in.readVInt();
    if (aliasesSize > 0) {
      filteringAliases = new String[aliasesSize];
      for (int i = 0; i < aliasesSize; i++) {
        filteringAliases[i] = in.readString();
      }
    }
    nowInMillis = in.readVLong();
  }
 @Override
 public void readFrom(StreamInput in) throws IOException {
   super.readFrom(in);
   recovery = in.readBoolean();
   snapshot = in.readBoolean();
 }